JAVA程序設(shè)計(jì)語(yǔ)言基礎(chǔ)習(xí)題及答案.doc
《JAVA程序設(shè)計(jì)語(yǔ)言基礎(chǔ)習(xí)題及答案.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《JAVA程序設(shè)計(jì)語(yǔ)言基礎(chǔ)習(xí)題及答案.doc(7頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
JAVA程序設(shè)計(jì)語(yǔ)言基礎(chǔ)習(xí)題 (1)在Java中,負(fù)責(zé)對(duì)字節(jié)代碼解釋執(zhí)行的是(B?。?。 A.垃圾回收器 B.虛擬機(jī) C.編譯器 D.多線程機(jī)制 //編譯器將JAVa源程序編譯成字節(jié)代碼,即虛擬機(jī)代碼,然后由虛擬機(jī)將虛擬機(jī)代碼換成相應(yīng)硬件的機(jī)器代碼,之后加以執(zhí)行。 (2)Java語(yǔ)言中,負(fù)責(zé)并發(fā)管理的機(jī)制是( D) A.垃圾回收 B.虛擬機(jī) C.代碼安全 D.多線程 //多線程即是多任務(wù)的特殊形式,多個(gè)任務(wù)并發(fā)執(zhí)行。 (3)下列敘述中,正確的是 (C ) A.源文件擴(kuò)展名為.jar B.源文件名與public類名可以不相同 C.Java語(yǔ)言的標(biāo)識(shí)符是區(qū)分大小寫的 D.源文件中public類的數(shù)目不限 //A項(xiàng)擴(kuò)展名應(yīng)為.java;B項(xiàng)應(yīng)為相同;D項(xiàng)public類只能有一個(gè)。 (4)Java為移動(dòng)設(shè)備提供的平臺(tái)是( A ) A.J2ME B.J2SE C.J2EE D.J2RE //J2ME是致力于消費(fèi)產(chǎn)品與嵌入式設(shè)備之間的最佳解決方案,特別是在移動(dòng)通信設(shè)備,移動(dòng)計(jì)算設(shè)備上應(yīng)用廣泛;J2SE是用于編寫桌面/工作站應(yīng)用軟件;J2EE是前沿的JAVA技術(shù)平臺(tái),為服務(wù)器的計(jì)算提供了所有范圍的企業(yè)級(jí)功能。J2RE是JAVA的運(yùn)行環(huán)境。 (5)JDK中提供的文檔生成器是( C ) A.java.exe B. javap.exe C. javadoc.exe D. jdb.exe //A中的java.exe是java語(yǔ)言解釋器;B中的javap.exe是java類文件反匯編器,用于分析類中的所有成員方法和成員變量,當(dāng)然也包括構(gòu)造方法;C中的javadoc.exe是Java API文檔生成器;D中的jdb.exe是javadebug的縮寫,既JAVA調(diào)試器。 (6)在Java語(yǔ)言中,不允許使用指針體現(xiàn)出的Java特性是( D ) A.可移植 B.解釋執(zhí)行 C.健壯性 D.安全性 //java不支持指針數(shù)據(jù)類型,它提供了字節(jié)碼的檢查機(jī)制還提供了自動(dòng)的“內(nèi)存垃圾”手機(jī)功能,提高了JaVA的穩(wěn)定性和安全性。 (7)下列描述中,錯(cuò)誤的是(A ) A.Java要求編程者管理內(nèi)存 B.Java的安全性體現(xiàn)在多個(gè)層次上 C.Applet要求在支持Java的瀏覽器上運(yùn)行 D.Java有多線程機(jī)制Java不需要編程者管理內(nèi)存,提供了自動(dòng)的“內(nèi)存垃圾”的收集功能 // Java不需要編程者管理內(nèi)存,提供了自動(dòng)的“內(nèi)存垃圾”的收集功能 (8)Java編譯器將源代碼翻譯成獨(dú)立于平臺(tái)的格式是(B ) A.opcodes B.bytecodes C.virtual machines D.applet // Java編譯器將源代碼翻譯成獨(dú)立于平臺(tái)的格式是字節(jié)碼即bytecodes (9)Java可以用來(lái)創(chuàng)建程序的工具集是( D ) A.JRE B.JNI C.JVM D.JDK //A中的JRE是JAVA運(yùn)行環(huán)境。B中JNI是JAVA本地接口。C中的JVM是JAVA虛擬機(jī)。D中的JDK是JAVA的工具集。 (10)Java語(yǔ)言與其他主要語(yǔ)言相比較,獨(dú)有的特點(diǎn)是( C ) A.面向?qū)ο? B.多線程 C.平臺(tái)無(wú)關(guān)性 D.可擴(kuò)展性 //用JAVA語(yǔ)言編寫的各種程序可以不經(jīng)過(guò)修改在各個(gè)平臺(tái)系統(tǒng)上運(yùn)行。 (11)下列屬于合法的Java標(biāo)識(shí)符是( A ) A._cat B.5books C. +static D.-3.14159 //標(biāo)識(shí)符是以字母、下劃線或$符號(hào)開頭的字母、下劃線以及數(shù)字序列。 (12)按照J(rèn)ava的標(biāo)識(shí)符命名規(guī)范,下列表示一個(gè)類的標(biāo)識(shí)符正確的是( B ) A.Helloworld B.HelloWorld C.helloworld D.helloWorld //用Java標(biāo)識(shí)符來(lái)表示類名時(shí),如果多于一個(gè)單詞,則每個(gè)單詞的第一個(gè)字母需要大寫。定義變量名時(shí),若一個(gè)變量名是有一個(gè)以上單詞所組成的,則第一個(gè)單詞之后的所有單詞都以大寫字母開頭。 (13)在Java中,表示“回車”的轉(zhuǎn)義字符是( B ) A.\n B.\r C.\b D.\t //A中的\n是回車并且換行的意思。B中的\r是回車的意思(即回到本行的開頭)。C中的\b是向前退格的意思。D中的\t是橫向跳格的意思。 (14)char類型的取值范圍是( B ) A. 2-7 ~27 -1 B. 0~216-1 C. -215 ~215 -1 D. 0~28-1 //JAVA中字符型是用16位的Unicode碼來(lái)表示的。 (15)十進(jìn)制數(shù)16的16進(jìn)制表示格式是( A ) A.0x10 B.0x16 C.0xA D.16 //十進(jìn)制數(shù)16表示的二進(jìn)制數(shù)為00010000,然后再將其化為十六進(jìn)制的0X10 (16)下列的( A )賦值語(yǔ)句是不正確的 A.float f = 2E1.2; B.double d = 5.3E-12; C.float d = 3.14f ; D.double f=0.3E0; //表示float型數(shù)時(shí)在后面加f或F,浮點(diǎn)型數(shù)據(jù)采用科學(xué)計(jì)數(shù)法表示時(shí)尾數(shù)必須有,小數(shù)部分可有可無(wú);階碼必須有,且必須是整數(shù)。 (17)下列的( D )賦值語(yǔ)句是正確的 A.char a=12; B.int a=12.0; C.int a=12.0f; D.int a=(int)12.0; //浮點(diǎn)型轉(zhuǎn)化為整型數(shù)據(jù),必須用強(qiáng)制類型轉(zhuǎn)換。 (18)"++"運(yùn)算符的操作數(shù)個(gè)數(shù)是( A ) A. 1個(gè) B. 2個(gè) C. 3個(gè) D. 4個(gè) //++為單目運(yùn)算符,操作數(shù)個(gè)數(shù)為1。 (19)在switch(expression)語(yǔ)句中,expression的數(shù)據(jù)類型不能是( A ) A. double B. char C. byte D. short //表達(dá)式必須是符合byte,char,short和int類型的表達(dá)式,而不能使用浮點(diǎn)類型或long類型,也不能是一個(gè)字符串。 (20)閱讀下列代碼 public class Test{ public static void main(String args[]){ System.out.println(~(0xa5) & 0xaa); } } 其運(yùn)行結(jié)果是 ( B ) A.0xa5 B.10 C.0x50 D.0xaa //~(0XA5)為0X5A,然后與0XAA相與得0X0A,因?yàn)橛?jì)算機(jī)輸出的結(jié)果為十進(jìn)制,所以結(jié)果為10。 (21)閱讀下列代碼 public class Test{ public static void main(String args[]){ System.out.println(9 >>>2); } } 其運(yùn)行結(jié)果是( B ) A. 4 B. 2 C. 3 D. 1 //9的二進(jìn)制形式為00001001,無(wú)符號(hào)右移2位的0010,十進(jìn)制為2 (22)閱讀下列代碼段 int x=3; while(x<9) x+=2; x++; while語(yǔ)句成功執(zhí)行的次數(shù)是( D ) 。 A.1次 B.2次 C.0次 D.3次 //如果在while(x<9)后加入大括號(hào),括住x+=2;再加入輸出語(yǔ)句System.out.println(“x=”+x);則會(huì)輸出x=5 x=7 x=9,成功執(zhí)行while語(yǔ)句3次。但是如果將x++;也括到大括號(hào)中,則輸出x=5 x=8,成功執(zhí)行while語(yǔ)句2次。 (23) 閱讀下面程序: import java.*; public class TypeTransition { public static void main(String args[]) { char a=h; int i=100,j=97; int aa=a+i; System.out.println("aa="+aa); char bb=(char)j; System.out.println("bb="+bb); } } 如果輸出結(jié)果的第二行為bb=a,那么第一行的輸出是( C ) A. aa=1 B. aa=v C. aa=204 D. aa=156 //字符h的Unicode值為104,所以a轉(zhuǎn)化為整型數(shù)據(jù)時(shí)為104,故aa為204 (24)給出下列的代碼,哪行在編譯時(shí)可能會(huì)有錯(cuò)誤? ① public void modify( C ){ ② int i, j, k; ③ i = 100; ④ while ( i > 0 ){ ⑤ j = i * 2; ⑥ System.out.println (" The value of j is " + j ); ⑦ k = k + 1; ⑧ } ⑨ } A.line 4 B.line 6 C.line 7 D.line 8 //⑦ k = k + 1; 中的k沒有初始化,所以出錯(cuò)。 (25)下列程序中,要求按照從小到大的順序輸出1到100之間所有能被7整除的數(shù)字,請(qǐng)將下列程序補(bǔ)充完整。 注意:請(qǐng)勿改動(dòng)main()主方法和其他已有語(yǔ)句內(nèi)容,僅在橫線處填入適當(dāng)語(yǔ)句。 public class Example1 { public static void main(String args[]) { int i=1; 【do】 { if( 【i%7==0】 ) System.out.print(i+","); 【i++】 }while(i<100); System.out.println(); } } (26)下面的程序中,隨機(jī)產(chǎn)生100個(gè)學(xué)生的成績(jī),并計(jì)算他們的平均成績(jī)。學(xué)生的成績(jī)按照5級(jí)打分制,A表示4分、B表示3分、C表示2分、D表示1分、E表示0分,平均成績(jī)用浮點(diǎn)數(shù)表示。請(qǐng)?zhí)顚憴M線處的內(nèi)容。 import java.math.*; public class AverageScore { public static void main(String args[]) { float aver=0; int a=0,b=0,c=0,d=0,e=0; for( 【int i=0】 ;i<100;i++) { double sd=Math.random()*5+A; char score= 【(char)sd】 ; 【switch】 (score) { case A: aver+=4;a++;break; case B: aver+=3;b++;break; case C: aver+=2;c++;break; case D: aver+=1;d++;break; case E: aver+=0;e++;break; default : break; } } aver/=100; System.out.println("平均分?jǐn)?shù)為"+aver+",學(xué)生人數(shù)100"); System.out.println("得A分的學(xué)生有"+a+"人"); System.out.println("得B分的學(xué)生有"+b+"人"); System.out.println("得C分的學(xué)生有"+c+"人"); System.out.println("得D分的學(xué)生有"+d+"人"); System.out.println("得E分的學(xué)生有"+e+"人"); } } (27)下面程序中的continue的作用是什么?有、沒有標(biāo)號(hào),運(yùn)行結(jié)果相同嗎? public class SignContinue { public static void main(String args[]) { label: for(int i=0; i<3; i++) { for(int j=1;j<3; j++) { if(j!=i) continue label ; System.out.println(i+j); } } } } //continue的作用是跳過(guò)label所指語(yǔ)句塊中所有余下部分的語(yǔ)句,回到label語(yǔ)句塊的條件測(cè)試部分繼續(xù)執(zhí)行。 有標(biāo)號(hào)的運(yùn)行結(jié)果為2;無(wú)標(biāo)號(hào)的運(yùn)行結(jié)果是2 4。 第三章課后的8題,很簡(jiǎn)單,略。 第三章課后的9題,需要分別取出百位數(shù),十位數(shù)與個(gè)位數(shù)。 可以使用下面語(yǔ)句實(shí)現(xiàn);設(shè)i為一個(gè)三位數(shù),a為百位數(shù),b為十位數(shù),c為個(gè)位數(shù)。則有a=i/100 ; b=j/10%10; c=i%10; 第三章課后的9題,設(shè)置三層循環(huán),外層i控制輸出5行,中層j控制每行開頭的空格,內(nèi)層k控制*號(hào)的輸出。 程序如下: /*打印圖案:每行打印5個(gè)星號(hào),每個(gè)星號(hào)之間空兩個(gè)空格*/ public class xinghao { public static void main(String args[]) { int i, j, k; for (i=1;i<=5;i++) { for (j=0;j<=3*(i-1);j++) System.out.print(" "); for (k=1;k<=5;k++) System.out.print("* "); System.out.println(); } } } 或者: public class PrintStar { public static void main(String[] args) { for(int i=0; i<5; i++) { String num = " "; for(int k=0; k- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- JAVA 程序設(shè)計(jì)語(yǔ)言 基礎(chǔ) 習(xí)題 答案
鏈接地址:http://www.820124.com/p-8207034.html