Java語言程序設(shè)計(jì)課后習(xí)題解答 張思民 習(xí)題解答2_第1頁
Java語言程序設(shè)計(jì)課后習(xí)題解答 張思民 習(xí)題解答2_第2頁
Java語言程序設(shè)計(jì)課后習(xí)題解答 張思民 習(xí)題解答2_第3頁
Java語言程序設(shè)計(jì)課后習(xí)題解答 張思民 習(xí)題解答2_第4頁
Java語言程序設(shè)計(jì)課后習(xí)題解答 張思民 習(xí)題解答2_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第2章 Java基礎(chǔ)【1】什么是數(shù)據(jù)類型?為什么要將數(shù)據(jù)劃分為不同的數(shù)據(jù)類型?解答:Java是一門強(qiáng)類型語言。數(shù)據(jù)類型是用來區(qū)分不同的數(shù)據(jù);由于數(shù)據(jù)在存儲(chǔ)時(shí)所需要的容量各不相同,不同的數(shù)據(jù)就必須要分配不同大小的內(nèi)存空間來存儲(chǔ),所有就要將數(shù)據(jù)劃分成不同的數(shù)據(jù)類型。【2】Java中有哪些數(shù)據(jù)類型?解答:Java中有8 種基本數(shù)據(jù)類型:字節(jié)型(byte),短整型(short),整型(int),長整型(long),字符型(char),單精度型(float),雙精度型(double),布爾型(boolean)。【3】聲明變量的作用是什么?解答:變量時(shí)一個(gè)數(shù)據(jù)存儲(chǔ)空間的表示,將數(shù)據(jù)指定給變量,就是將數(shù)據(jù)存

2、儲(chǔ)至對(duì)應(yīng)的內(nèi)存空間,調(diào)用變量,就是將對(duì)應(yīng)的內(nèi)存空間的數(shù)據(jù)取出來使用。聲明變量就是申請(qǐng)一個(gè)內(nèi)存空間?!?】若x=4,y=2,計(jì)算z值:(1) z=x&y(2) z=x|y(3) z=x|y(4) z=x>>y(5) z= x(6) z= x<< y(7) z= x>>> y解答:public class Test_4 public static void main(String args) int x = 4, y = 2, z; /初始化x,y,zz = x & y; /求z=x&y;即x與y的值System.out.print

3、ln("4_1:"+z);z = x | y; /求z=x|y;即x或y的值System.out.println("4_2:"+z);z = x y; /求z=xy;即x異或y的值System.out.println("4_3:"+z);z = x >> y; /求z=x>>y;即x右移y位的值System.out.println("4_4:"+z);z = x; /求z=x;即x位反的值System.out.println("4_5:"+z);z = x <<

4、; y; /求z=x<<y;即x左移y位的值System.out.println("4_6:"+z);z = x >>> y; /求z=x>>>y;即x無符號(hào)右移y位的值System.out.println("4_7:"+z);【5】假設(shè)x=10,y=20,z=30,求下列布爾表達(dá)式的值:(1) x<10 | x<10(2) x>y && y>x(3) (x<y+z) && (x+10<=20)(4) z-y=x && (y

5、-z)=x(5) x<10 && y>x(6)  x>y | y>x(7)  !(x<y+z) | !(x+10<=20)(8) ( !(x=y) && (x !=y) && (x<y | y<x)解答:public class Test_5 public static void main(String args) int x = 10, y = 20, z = 30;boolean flag;/求x<10|x<10布爾值flag = x

6、 < 10 | x < 10;System.out.println("5_1:"+flag);/求x>y&&y<x布爾值flag = x > y && y < x;System.out.println("5_2:"+flag);/求(x<y+z)&&(x+10<=20)布爾值flag = (x < y + z) && (x + 10 <= 20);System.out.println("5_3:"+flag);/

7、求z-y=x&&(y-z)=x布爾值flag = z - y = x && (y - z) = x;System.out.println("5_4:"+flag);/求x<10&&x>10布爾值flag = x < 10 && x > 10;System.out.println("5_5:"+flag);/求x>y|y>x布爾值flag = x > y | y > x;System.out.println("5_6:"+fl

8、ag);/求!(x<y+z)|!(x+10<=20)布爾值flag = !(x < y + z) | !(x + 10 <= 20);System.out.println("5_7:"+flag);/求(!(x=y)&&(x!=y)&&(x<y|y<x)布爾值flag = (!(x = y) && (x != y) && (x < y | y < x);System.out.println("5_8:"+flag);【6】什么是表達(dá)式? 什么是

9、語句?解答:表達(dá)式是由運(yùn)算符,操作數(shù)和方法調(diào)用按照語言的語法構(gòu)造而成的符號(hào)序列。表達(dá)式可用于計(jì)算一個(gè)格式,位變量賦值以及幫助控制程序執(zhí)行流程。語句:語句組成了一個(gè)執(zhí)行程序的基本單元,類似于自然語言的句子。包括表達(dá)式語句、復(fù)合語句、控制語句等?!?】Java有哪些數(shù)據(jù)類型?請(qǐng)描述其分類情況。解答:Java定義了8個(gè)基本數(shù)據(jù)類型:字節(jié)型,短整型,整型,長整型,字符型,浮點(diǎn)型,雙精度型,布爾型。它們分為4組: 1) 整數(shù)型(byte,short,int,long) 2) 浮點(diǎn)數(shù)型(float,double)3) 字符型(char)4) 布爾型(boolean)【8】試比較break和continue

10、語句的區(qū)別?解答:Break:強(qiáng)行退出循環(huán),忽略循環(huán)體中的任何其他語句和循環(huán)的條件的條件測(cè)試。Continue:語句用來終止本次循環(huán)。其功能是終止當(dāng)前正在進(jìn)行的本輪循環(huán),即跳過后面剩余的語句,轉(zhuǎn)而執(zhí)行循環(huán)的第一條語句,計(jì)算和判斷循環(huán)條件,決定是否進(jìn)入下一輪循環(huán)?!?】有一函數(shù): x (x<1) y = 3x-2 (1x<10) 4x (x10)編寫一程序,給定x值,輸出y值。解答:import java.io.*;public class Test_9 public static void main(String args) throws NumberFormatException

11、,IOException InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr);System.out.println("請(qǐng)輸入數(shù)字x的值:");double x = Double.parseDouble(br.readLine();double y = 0;if (x < 1) y = x; else if (x >= 1 && x < 10) y = 3 * x - 2; else y =

12、4 * x;System.out.println("y=" + y);【10】說明while和do.while語句的差異。解答:Do-while與while 語句的主要區(qū)別在于,先執(zhí)行循環(huán)體中的語句再計(jì)算條件表達(dá)式,所以do-while語句的循環(huán)體至少執(zhí)行一次?!?1】寫出下列語句執(zhí)行后的結(jié)果:for (k=1;k<=5;k+)if (k>4) break;System.out.println(“k=”+k);解答:public class Test_11 public static void main(String args) int k;for (k = 1

13、; k <= 5; k+) if (k > 4)break;System.out.println("k=" + k);【12】編寫程序,求的值。解答: public class Test_12 public static void main(String args) int k,sum=0; for(k=1;k<=10;k+) sum=sum+k*k; System.out.println("sum="+sum);【13】編寫一程序,輸入3個(gè)數(shù),能按大小順序輸出。解答:import java.io.BufferedReader;impo

14、rt java.io.IOException;import java.io.InputStreamReader;public class Test_13 public static void main(String args) throws NumberFormatException,IOException InputStreamReader isr = new InputStreamReader(System.in);BufferedReader br = new BufferedReader(isr);int a = new int3;int k, temp;System.out.prin

15、tln("請(qǐng)輸入3個(gè)數(shù)字(每輸入一個(gè)數(shù)字后請(qǐng)換行)");for (int i = 0; i < 3; i+) ai = Integer.parseInt(br.readLine();for (int i = 0; i < a.length; i+) k = i;for (int j = k + 1; j < a.length; j+) if (aj < ak) k = j;if (k != i) temp = ai;ai = ak;ak = temp;System.out.println("從小到大排序:");for (int i

16、 = 0; i < a.length; i+) System.out.print(ai + " ");【14】編寫一各Java程序,查找1100之間的素?cái)?shù)并將運(yùn)行結(jié)果輸出。解答:public class Test_14 public static void main(String args) int m, k, i, n = 0;boolean flag;for (m = 1; m <= 100; m=m+2) flag = true;k = (int)Math.sqrt(m);for (i = 2; i <= k; i+) if (m % i = 0)

17、flag = false;break;if (flag) System.out.print(m + " ");n = n + 1;if (n % 10 = 0)System.out.println();【15】運(yùn)行下面程序,并分析其執(zhí)行過程:Public class multiplicationpublic static void main(String args )int i,j;for (i=1;i<10;i+)for (i=1;i<10;i+)System.out.print(i+”*”+j+”=”+i*j+”); System.out.println()

18、; 解答:public class Test_15 public static void main(String args) int i, j;for (i = 1; i < 10; i+) for (j = 1; j <= i; j+) System.out.print(i + "*" + j + "=" + i * j + " ");System.out.println();/*結(jié)果:1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5

19、5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81乘法表*/【16】編寫程序?qū)崿F(xiàn):輸入一組整數(shù),比較并輸出其中的最大值和最小值,再將數(shù)組元素從小到大排序并將運(yùn)行結(jié)果輸出。解答:impo

20、rt java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Test_16 public static void main(String args) throws NumberFormatException,IOException InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr);int a = new i

21、nt5;int k, temp;System.out.println("請(qǐng)輸入5個(gè)數(shù)字(每輸入一個(gè)數(shù)字后請(qǐng)換行)");for (int i = 0; i < 5; i+) ai = Integer.parseInt(br.readLine();for (int i = 0; i < a.length; i+) k = i;for (int j = k + 1; j < a.length; j+) if (aj < ak) k = j;if (k != i) temp = ai;ai = ak;ak = temp;System.out.println(

22、"最小數(shù)字 :"+a0);System.out.println("最大數(shù)字 :"+aa.length-1);System.out.println("從小到大排序:");for (int i = 0; i < a.length; i+) System.out.print(ai + " ");【17】編寫打印下列圖形的程序:(1) (2) (3) # * * * * * * * $ # # * * * * * $ $ $ # # # * * * $ $ $ $ $ # # # # * $ $ $ $解答:publ

23、ic class Test_17_1 public static void main(String args) int i, j;for (i = 1; i <= 4; i+) for (j = 1; j <= i; j+) System.out.print("#" + " ");System.out.println();public class Test_17_2 public static void main(String args) int i, j, k;for (i = 0; i < 4; i+) for (k = 0; k

24、< i; k+) System.out.print(" ");for (j = 0; j <= 6 - 2 * i; j+)System.out.print("*");System.out.println();public class Test_17_3 public static void main(String args) int i=0,blank,j,star,input=5;/input是輸入的行數(shù)String s=""for( i = 0;i < input; i+ ) blank = Math.abs(

25、 i - input/2);for( j = 1 ; j <= blank; j+ ) s += " " star = input - 2 * blank; for( j = 1; j <= star ; j+ )s += "$" s += "n" ; System.out.print( s ); 【18】考慮一個(gè)2×3的數(shù)組a。(1) 為a寫一個(gè)設(shè)聲明。試問,這樣的聲明使a有多少行,多少列,多少元素?(2) 寫出a 的第1行的所有元素的名字。(3) 寫一條語句,置行1列2的元素為零。(4) 寫一個(gè)嵌套for結(jié)構(gòu)

26、,將a 的每個(gè)元素初始化為零。(5) 定一條語句,求第3列元素的和。解答:(1) 數(shù)組a有2行,3列,元素個(gè)數(shù)為6(2) 第一行元素的名字為a00,a01,a02(3) 置行1列2的元素為0,語句是a01=0;(4) for(int i=0;i<2;i+) for(in j=0;j<3;j+) aij=0;(5) int sum=0; sum=a02+a12;【19】求3×3矩形對(duì)角元素之和。解答:public class Test_19 public static void main(String args) int i, j, sum = 0;int a = new

27、int33;for (i = 0; i < 3; i+) for (j = 0; j < 3; j+) aij = i + j; /輸出二維數(shù)組for (i = 0; i < 3; i+) for (j = 0; j < 3; j+) System.out.print(aij + " ");System.out.println(); /顯示對(duì)角線之和for (i = 0; i < 3; i+) sum = sum + aii;System.out.println("對(duì)角線之和:" + sum);【20】編寫一程序,查找某一字符串是否包含有 “abc”。解答:public class Test_20 public static void main(String args) String s = "yangen abc"int a = s.indexOf("abc");/a位找到abc的下標(biāo),找不到則

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論