《JAVA語(yǔ)言》作業(yè)集答案
《《JAVA語(yǔ)言》作業(yè)集答案》由會(huì)員分享,可在線閱讀,更多相關(guān)《《JAVA語(yǔ)言》作業(yè)集答案(57頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 參考答案 第一章 判斷題答案 1) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):“//“表示單行注釋,多行注釋以“/*”開(kāi)始并以“*/”結(jié)束。 2) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):方法不僅在命令窗口中顯示(或打?。┮恍形淖?,而且自動(dòng)將光標(biāo)位置移到下一行。 3) 難度:難;答案:正確;知識(shí)點(diǎn):System類是java .lang包的一部分,對(duì)于每一個(gè)Java。 4) 難度:容易;答案:正確;知識(shí)點(diǎn):Java中變量的聲明。 5) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):注釋在程序執(zhí)行時(shí)不會(huì)造成任何操作的執(zhí)行,她們僅用于將程序文本化并提高可讀性。 6) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):Java是對(duì)
2、大小寫(xiě)字母敏感的,所以這些變量不相同。 7) 難度:容易;答案:正確;知識(shí)點(diǎn):Java應(yīng)用程序自動(dòng)從main方法開(kāi)始執(zhí)行 選擇題答案 1) 難度:容易;答案:D;知識(shí)點(diǎn):面向?qū)ο蟪绦蛟O(shè)計(jì)方法的三大主要優(yōu)點(diǎn)。 2) 難度:適中;答案:D.public class Welcome;知識(shí)點(diǎn):Java中的所有類名以一個(gè)大寫(xiě)字母開(kāi)頭,但類名不能以數(shù)字開(kāi)頭并且不含空格。 3) 難度:容易;答案:D;知識(shí)點(diǎn):?jiǎn)螚l語(yǔ)句通過(guò)使用換行符可以顯示多行信息。 4) 難度:適中;答案:D;知識(shí)點(diǎn):方法main的定義。 5) 難度:容易;答案:D;知識(shí)點(diǎn):如果在一個(gè)顯示圖形用戶界面的應(yīng)用程序中調(diào)用Sys
3、tem .exit,將使得程序不能正常結(jié)束。 6) 難度:容易;答案:C;知識(shí)點(diǎn):每一個(gè)Java applet必須繼承JApplet或類Applet。 7) 難度:適中;答案:D;知識(shí)點(diǎn):init,start,paint方法必須按這一順序從appletviewer或?yàn)g覽器里被調(diào)用。 8) 難度:適中;答案:C;知識(shí)點(diǎn):使用Graphics類的drawLine方法來(lái)畫(huà)線。 9) 難度:適中;答案:B;知識(shí)點(diǎn):*號(hào)表示java.swing包的任何類都可以使用,如果使用類的完整名稱,從而省略import語(yǔ)句。 10) 難度:容易;答案:C;知識(shí)點(diǎn):第3和第4個(gè)參數(shù)是非負(fù)整數(shù),以像素為單位,
4、分別代表矩形的寬度和高度,該語(yǔ)句從坐標(biāo)(15,10)處畫(huà)一個(gè)270像素寬,20像素高的矩形。 11) 難度:容易;答案:D;知識(shí)點(diǎn):當(dāng)編譯Java程序時(shí),每個(gè)類都將被分別編譯成不同的文件,每個(gè)文件名都與所對(duì)應(yīng)的類名相同,并以擴(kuò)展名.class結(jié)束。 簡(jiǎn)述題答案 1) Java和C/C++的差別主要表現(xiàn)在如下方面: ● Java中對(duì)內(nèi)存的分配是動(dòng)態(tài)的,程序運(yùn)行中,Java系統(tǒng)自動(dòng)對(duì)內(nèi)存進(jìn)行掃描,對(duì)長(zhǎng)期不用的內(nèi)存空間作為“垃圾”進(jìn)行收集,使得系統(tǒng)資源得到更充分利用。按照這種機(jī)制,程序員不必關(guān)注內(nèi)存管理問(wèn)題,這使Java程序的編寫(xiě)變得簡(jiǎn)單明了,并且避免了由于內(nèi)存管理方面的差錯(cuò)而導(dǎo)致系統(tǒng)出問(wèn)題
5、。 ● Java不在所有類之外定義全局變量.而是在某個(gè)類中定義—種公用靜態(tài)的變量來(lái)完成全局變量的功能。 ● Java不用Goto語(yǔ)句,而是用try-catch—finally異常處理語(yǔ)句來(lái)代替Goto語(yǔ)句處理出錯(cuò)的功能。 ● Java不支持頭文件,而C和C++語(yǔ)言中都用頭文件來(lái)定義類的原型、全局變量、庫(kù)函數(shù)等,這種采用頭文件的結(jié)構(gòu)使得系統(tǒng)的運(yùn)行維護(hù)相當(dāng)繁雜。 ● Java不支持宏定義,而是使用關(guān)鍵字final來(lái)定義常量,在C++中則采用宏定義來(lái)實(shí)現(xiàn)常量定義,這不利于程序的可讀性。 ● Java對(duì)每種數(shù)據(jù)類型都分配固定長(zhǎng)度。比如,在Java中,int類型總是32位的,而在C和C++中,
6、對(duì)于不同的平臺(tái),同一個(gè)數(shù)據(jù)類型分配不同的字節(jié)數(shù),同樣是int類型,在PC機(jī)中為二字節(jié)即l6位,而在VAX—11中,則為32位。這使C語(yǔ)言造成不可移植性,而Java則具有跨平臺(tái)性。 ● 類型轉(zhuǎn)換不同。在C和C++中,可以通過(guò)指針進(jìn)行任意的類型轉(zhuǎn)換,常常帶來(lái)不安全性,而Java中,運(yùn)行時(shí)系統(tǒng)對(duì)對(duì)象的處理要進(jìn)行類型相容性檢查,以防止不安全的轉(zhuǎn)換。 ● 結(jié)構(gòu)和聯(lián)合的處理。C和C++中的結(jié)構(gòu)和聯(lián)合所有成員均為公有,這就帶來(lái)了安全性問(wèn)題,而Java中根本就不包含結(jié)構(gòu)和聯(lián)合,所有的內(nèi)容都封裝在類里面。 ● Java不再使用指針。 2) Java的技術(shù)特點(diǎn):簡(jiǎn)明的語(yǔ)法結(jié)構(gòu)、平臺(tái)獨(dú)立性、面向?qū)ο筇卣?、?/p>
7、向網(wǎng)絡(luò)環(huán)境、動(dòng)態(tài)性、安全性、穩(wěn)定性、多線程、類庫(kù)豐富。 3) 包括Application類型和Applet類型兩種。 第二章 判斷題答案 1) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):“//“表示單行注釋,多行注釋以“/*”開(kāi)始并以“*/”結(jié)束。 2) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):方法不僅在命令窗口中顯示(或打?。┮恍形淖?,而且自動(dòng)將光標(biāo)位置移到下一行。 3) 難度:難;答案:正確;知識(shí)點(diǎn):System類是java .lang包的一部分,對(duì)于每一個(gè)Java。 4) 難度:容易;答案:正確;知識(shí)點(diǎn):Java中變量的聲明。 5) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):注釋在程序執(zhí)行時(shí)不會(huì)
8、造成任何操作的執(zhí)行,她們僅用于將程序文本化并提高可讀性。 6) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):Java是對(duì)大小寫(xiě)字母敏感的,所以這些變量不相同。 7) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):模運(yùn)算操作符在Java中也可用非整數(shù)。 8) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):運(yùn)算符*,/和%是在同一優(yōu)先級(jí)上,而運(yùn)算符+和- 在另一個(gè)優(yōu)先級(jí)。 9) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):方法Integer.parseInt將一String轉(zhuǎn)變成整數(shù)。 10) 難度:容易;答案:正確;知識(shí)點(diǎn):Java應(yīng)用程序自動(dòng)從main方法開(kāi)始執(zhí)行 11) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):default可缺省,若不
9、需要缺省的操作,就可以不寫(xiě)default項(xiàng)。 12) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):break語(yǔ)句用于退出default結(jié)構(gòu),當(dāng)default作為switch結(jié)構(gòu)的最后一種情況時(shí),可以不寫(xiě)break語(yǔ)句。 13) 難度:適中;答案:錯(cuò)誤;知識(shí)點(diǎn):使用&&運(yùn)算符的表達(dá)式,只有兩個(gè)操作數(shù)都為真時(shí)該表達(dá)式才為真,整數(shù)100不能作為邏輯類型數(shù)值使用。 14) 難度:容易;答案:正確;知識(shí)點(diǎn):或(||)運(yùn)算符的使用。 15) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):if結(jié)構(gòu)僅選擇或忽略某一個(gè)動(dòng)作,if/else要在不同的動(dòng)作之間做選擇。 16) 難度:容易;答案:正確;知識(shí)點(diǎn):邏輯與的使用。
10、 17) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):應(yīng)該使用邏輯或運(yùn)算符||。 18) 難度:適中;答案:錯(cuò)誤;知識(shí)點(diǎn):布爾邏輯與和布爾邏輯或運(yùn)算符的工作方式與邏輯與和邏輯或運(yùn)算符除了短路計(jì)值一點(diǎn)外完全相同。 19) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):還有兩種組合方式。 20) 難度:適中;答案:正確;知識(shí)點(diǎn):結(jié)構(gòu)化程序設(shè)計(jì)的優(yōu)點(diǎn)。 21) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):下標(biāo)用于指出數(shù)組中某個(gè)元素的數(shù)字。 22) 難度:容易;答案:正確;知識(shí)點(diǎn):把數(shù)組中元素按某種順序排列的過(guò)程叫做排序。 23) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):確定數(shù)組中是否含有某個(gè)關(guān)鍵字的過(guò)程叫做查找。 24)
11、 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):一個(gè)數(shù)組只能存放同一類型的數(shù)值。 25) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):一個(gè)數(shù)組下標(biāo)應(yīng)為整數(shù)或整數(shù)表達(dá)式。 26) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):因?yàn)閿?shù)組的單個(gè)基本數(shù)據(jù)類型元素以值調(diào)用方式傳遞。如果將整個(gè)數(shù)組傳遞給方法,數(shù)組元素的任何變化都將反映在原來(lái)數(shù)組上。另外,如數(shù)組單個(gè)元素是類的對(duì)象,傳遞單個(gè)元素也以引用調(diào)用形式傳遞給方法,對(duì)象的改變將反映在原數(shù)組元素上。 27) 難度:容易;答案:正確;知識(shí)點(diǎn):數(shù)組的使用。 28) 難度:容易;答案:正確;知識(shí)點(diǎn):數(shù)組的概念。 29) 難度:適中;答案:錯(cuò)誤;知識(shí)點(diǎn):在數(shù)組聲明中可以用等號(hào)及一個(gè)逗號(hào)分隔的
12、初始值表初始化數(shù)組元素,該數(shù)組大小由初始值表中的數(shù)據(jù)個(gè)數(shù)決定。 30) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):將一個(gè)數(shù)組傳遞給一個(gè)方法,應(yīng)使用不加方括號(hào)的數(shù)組名。 31) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):用運(yùn)算符“= =”比較字符串對(duì)象,實(shí)際上是比較并確定它們是否內(nèi)存中的同一個(gè)對(duì)象。 32) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):字符串對(duì)象是常量,在創(chuàng)建后不能修改。 33) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):String類的charAt方法返回指定位置上的字符。 34) 難度:容易;答案:正確;知識(shí)點(diǎn):不僅如此,如果調(diào)用compareTo的字符串比作為參數(shù)的字符串小,則返回一個(gè)負(fù)數(shù);如果調(diào)用com
13、pareTo的字符串比作為參數(shù)的字符串大時(shí),則返回一個(gè)正數(shù)。 35) 難度:適中;答案:正確;知識(shí)點(diǎn):運(yùn)算符“==”用于比較基本類型的數(shù)據(jù)時(shí),如果兩個(gè)值相同則返回true,并且在比較引用時(shí),如果兩個(gè)引用指向內(nèi)存中同一個(gè)對(duì)象,則返回true。 36) 難度:適中;答案:錯(cuò)誤;知識(shí)點(diǎn):indexOf方法是String類的方法。 37) 難度:容易;答案:正確;知識(shí)點(diǎn):String類的substring方法的使用。 38) 難度:適中;答案:錯(cuò)誤;知識(shí)點(diǎn):String類的replace方法不僅返回一個(gè)新的字符串對(duì)象,而且該對(duì)象中原字符串所以的由第1個(gè)字符參數(shù)指定的字符都被第2個(gè)字符參量替換。
14、 39) 難度:容易;答案:正確;知識(shí)點(diǎn):String類的valueOf方法的使用。 40) 難度:適中;答案:正確;知識(shí)點(diǎn):StringTokenizer類的hasMoreTokens方法的使用。 選擇題答案 1) 難度:容易;答案:C;知識(shí)點(diǎn):Java的標(biāo)識(shí)符可以由字母、數(shù)字、下劃線和美元符號(hào)組成。 2) 難度:容易;答案:A;知識(shí)點(diǎn):所有的程序均可以用順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)三種類型控制結(jié)構(gòu)編寫(xiě)。 3) 難度:容易;答案:D;知識(shí)點(diǎn):當(dāng)條件為真和條件為假時(shí),if/else控制結(jié)構(gòu)可以執(zhí)行不同的動(dòng)作。 4) 難度:容易;答案:C;知識(shí)點(diǎn):標(biāo)記值的使用。 5) 難度:容易
15、;答案:D;知識(shí)點(diǎn):賦值運(yùn)算符應(yīng)該是+ =。 6) 難度:適中;答案:C;知識(shí)點(diǎn):while循環(huán)的使用。 7) 難度:適中;答案:C;知識(shí)點(diǎn):變量k應(yīng)該在使用前要被初始化。 8) 難度:適中;答案:C;知識(shí)點(diǎn):&是布爾運(yùn)算與,而&&是邏輯運(yùn)算與。 9) 難度:容易;答案:AB;知識(shí)點(diǎn):布爾變量不能被賦予數(shù)值。 10) 難度:容易;答案:A;知識(shí)點(diǎn):如果x小于0,則x必須小于10。 11) 難度:容易;答案:ABC;知識(shí)點(diǎn):沒(méi)有break在case 1和case 0語(yǔ)句的后面。 12) 難度:容易;答案:B;知識(shí)點(diǎn):線性表和表可以存儲(chǔ)在數(shù)組中。 13) 難度:容易;答案:AB;知
16、識(shí)點(diǎn):數(shù)組元素之所以相關(guān),是因?yàn)樗鼈兙哂邢嗤拿趾皖愋汀? 14) 難度:容易;答案:B;知識(shí)點(diǎn):二維數(shù)組使用雙下標(biāo)。 15) 難度:容易;答案:C;知識(shí)點(diǎn):靜態(tài)數(shù)組arr已經(jīng)被初始化為0。 16) 難度:容易;答案:A;知識(shí)點(diǎn):數(shù)組arr不是靜態(tài)數(shù)組,在方法main()中沒(méi)有被直接訪問(wèn)。 17) 難度:容易;答案:C;知識(shí)點(diǎn):不允許在數(shù)組名后面的括號(hào)內(nèi)指定數(shù)組元素的個(gè)數(shù)。 18) 難度:適中;答案:CD;知識(shí)點(diǎn):“”表示數(shù)組元素為空。 19) 難度:適中;答案:D;知識(shí)點(diǎn):一旦數(shù)組被創(chuàng)建則它的元素就被初始化為0 20) 難度:適中;答案:ABC;知識(shí)點(diǎn):可以用初始值來(lái)創(chuàng)建數(shù)組p
17、,選項(xiàng)D書(shū)寫(xiě)不合法。 21) 難度:適中;答案:CD;知識(shí)點(diǎn):數(shù)組t的長(zhǎng)度位,它的下標(biāo)是0和1,則使用t[2]和t[3]是不對(duì)的。 22) 難度:容易;答案:BD;知識(shí)點(diǎn):字符串不是數(shù)組,不能使用s[3];“-”操作符在字符串中不能使用。 23) 難度:適中;答案:AD;知識(shí)點(diǎn):s和t不是相同的引用,而在使用==比較引用時(shí),如果兩個(gè)引用指向內(nèi)存中的同一個(gè)對(duì)象,則結(jié)果為真。 24) 難度:容易;答案:AD;知識(shí)點(diǎn):s是字符串不是數(shù)組,因此B錯(cuò)誤;C錯(cuò)誤是由于length后要加括號(hào)。 25) 難度:適中;答案:E;知識(shí)點(diǎn):類Demo沒(méi)有被初始化,在15行對(duì)它的引用導(dǎo)致了一個(gè)錯(cuò)誤。 26
18、) 難度:適中;答案:B;知識(shí)點(diǎn):由于str=”world”語(yǔ)句,str的引用為world,而不是hello。 27) 難度:容易;答案:AB;知識(shí)點(diǎn):每個(gè)數(shù)組元素在初始化之前都為null。 28) 難度:容易;答案:D;知識(shí)點(diǎn):數(shù)組的正確初始化。 29) 難度:容易;答案:DF;知識(shí)點(diǎn):append方法是StringBuffer類的方法,而contcat方法是String類的方法。 30) 難度:適中;答案:A;知識(shí)點(diǎn):“+”操作符的使用。 31) 難度:適中;答案:C;知識(shí)點(diǎn):“==”操作符的使用。 簡(jiǎn)述題答案 1) 難度:容易 答案:Java的基本數(shù)據(jù)類型包括:布爾型、
19、字節(jié)型、字符型、短整型、整型、長(zhǎng)整型、浮點(diǎn)型、雙精度型。Int型所能表達(dá)的最大數(shù)據(jù)為2147483647,最小數(shù)據(jù)為-2147482648。 知識(shí)點(diǎn):Java的數(shù)據(jù)類型。 2) 難度:適中 答案:(1)Java的算術(shù)運(yùn)算符有: 雙目運(yùn)算符 +、-、*、/、%; 單目運(yùn)算符 + +、- -、-。 (2)關(guān)系運(yùn)算符 = =、!=、>、<、>=、<=。 (3)邏輯運(yùn)算符 &、|、!、^、&&、||。 (4)位運(yùn)算符 ~、>>、<<、>>>。 (5)賦值運(yùn)算符 + =、- =、* =、/ =、% =、&=、|=、^=、<ó、>=、<<<=。 (6)三目運(yùn)算符 ?、:。 3) 難度
20、:適中 答案:(1) - - a % b+ + = 2 (2) ( a >= 1 && a <= 12 ? a : b ) = 3 (3) f ^ ( a > b ) = false (4) ( - - a )< < a = 8 知識(shí)點(diǎn):Java中算術(shù)表達(dá)式的運(yùn)算符優(yōu)先原則。 4) 難度:適中 答案:① sum = 0 for ( count = 1;count < = 99;count + = 2 ) sum + = count; ② Math .pow( 2.5 ,3 ) ③ x = 1; while ( x < = 20 ){ System .out .prin
21、t ( x ) ; if ( x % 5 = = 0 ) System .out .println ( ) ; else System .out .print (‘ \ t ‘ ) ; + + x;} ④ for ( x = 1;x < = 20;x + + ){ System .out .print ( x ) ; if ( x % 5 = = 0 ) System .out .println ( ) ; else System .out .print (‘ \ t ‘ ) ;} 或?qū)懗? for ( x = 1;x < = 20;x + + ){ if ( x %
22、 5 = = 0 ) System .out .println ( x ) ; else System .out .print ( x +‘ \ t ‘ ) ;} 知識(shí)點(diǎn):使用for結(jié)構(gòu)、while結(jié)構(gòu)。 5) 難度:適中 答案:①錯(cuò)誤:while結(jié)構(gòu)頭部的分號(hào)將導(dǎo)致無(wú)限循環(huán),此外,大括號(hào)也沒(méi)有匹配。 改正:將分號(hào)“{”代替,或去掉“;”和“}”。 ②錯(cuò)誤:使用一個(gè)浮點(diǎn)數(shù)來(lái)控制一個(gè)循環(huán)結(jié)構(gòu)可能達(dá)不到控制循環(huán)的目的,因?qū)崝?shù)的表示不精確。 改正:使用一個(gè)整數(shù),并執(zhí)行合適的計(jì)算以得到所需的值。 for ( y = 1;y ! = 10;y + + ) System .out .
23、println ( ( float ) y / 10 ) ; ③錯(cuò)誤:在第一case的語(yǔ)句組中,漏了break語(yǔ)句。 改正:在第一case的最后加上break語(yǔ)句。不過(guò),如果希望case 2: 中的語(yǔ)句在每次case 1: 語(yǔ)句執(zhí)行后都執(zhí)行,這就不算是一個(gè)錯(cuò)誤。 ④錯(cuò)誤:while的循環(huán)條件中的關(guān)系運(yùn)算符有誤。 改正:用< =代替<,或用11代替10。 ⑤錯(cuò)誤:while循環(huán)缺少有括號(hào)(})。 改正:在語(yǔ)句 + + = C之后加上右括號(hào)())。 ⑥錯(cuò)誤:else后的分號(hào)將導(dǎo)致邏輯錯(cuò)誤,其后的輸出語(yǔ)句總是回被執(zhí)行。 改正:刪除else后的分號(hào)。 知識(shí)點(diǎn);對(duì)各循環(huán)結(jié)構(gòu)的使用。
24、6) 難度:適中 答案:結(jié)構(gòu)化程序設(shè)計(jì)有順序、分支、循環(huán)三種基本流程。Java中的分支語(yǔ)句包括if語(yǔ)句、switch語(yǔ)句、;循環(huán)語(yǔ)句包括while語(yǔ)句、do-while語(yǔ)句、for語(yǔ)句;其他如對(duì)象、變量定義語(yǔ)句、賦值語(yǔ)句、方法調(diào)用語(yǔ)句等都是順序語(yǔ)句。 知識(shí)點(diǎn):結(jié)構(gòu)化程序設(shè)計(jì)的三種基本流程。 7) 難度:適中 答案:在循環(huán)中使用break語(yǔ)句,將使循環(huán)終止,流程從break語(yǔ)句處跳轉(zhuǎn)到break語(yǔ)句所在的循環(huán)外面的第一個(gè)語(yǔ)句繼續(xù)執(zhí)行。在循環(huán)中使用continue語(yǔ)句,將提前結(jié)束本輪循環(huán),流程跳轉(zhuǎn)到continue語(yǔ)句所在的循環(huán)的第一個(gè)語(yǔ)句繼續(xù)執(zhí)行。在循環(huán)中使用return語(yǔ)句,將終止當(dāng)前
25、方法調(diào)用,同時(shí)終止循環(huán),使流程返回到調(diào)用語(yǔ)句的下一個(gè)語(yǔ)句執(zhí)行。 8) 難度:容易 答案:① final int ARRAY_SIZE = 10; ② float fractions[ ] = new float[ARRAY_SIZE]; ③ fractions[3]; ④ fractions[4]; ⑤ fractions[9] = 1.667; ⑥ fractions[6] = 3.333 ⑦ float total = 0; for( int x = 0;x < fractions .length;x + + ) total + = fractions[x]; 知識(shí)點(diǎn)
26、:操作數(shù)組的基本方法。 9) 難度:適中 答案:① int table[ ][ ] = new int[ARRAY_SIZE][ARRAY_SIZE]; ② for( int x = 0;x < table .length;x + + ) for( int y = 0;y < table .length;y + + ) table[x][y] = x + y; 知識(shí)點(diǎn):操作數(shù)組的基本方法。 10) 難度:適中 答案:①錯(cuò)誤。如果一個(gè)final變量已被初始化,那么就不能修改該final變量的值。 ②錯(cuò)誤:超界限用數(shù)組元素(b[10])。 改正:把運(yùn)算符< =改寫(xiě)<。 ③錯(cuò)誤
27、:數(shù)組下標(biāo)寫(xiě)法有誤。 改正:改成a[1][1] = 5。 知識(shí)點(diǎn):對(duì)一維和二維數(shù)組的操作。 11) 難度:適中 答案:向量是類似于數(shù)組的順序存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu),不同之處是向量中的每個(gè)元素都是對(duì)象,向量中還封裝了一些常用的數(shù)據(jù)處理功能,因此向量是允許不同類型元素共存的變長(zhǎng)數(shù)組。 下面的情況下適用向量: ①需要處理的對(duì)象數(shù)目不定;序列中的元素都是對(duì)象,或可以表率為對(duì)象。 ②需要將不同類的對(duì)象組合成一個(gè)數(shù)據(jù)序列。 ③需要做頻繁的對(duì)象序列中元素的插入和刪除。 ④經(jīng)常需要定位序列中的對(duì)象或其他的查找操作。 ⑤需要在不同的類之間傳遞大量的數(shù)據(jù)。 ⑥ Vector類的方法 相對(duì)于數(shù)組要多一
28、些,但是使用這個(gè)類也有一定的局限性,例如其中的對(duì)象不能是簡(jiǎn)單數(shù)據(jù)類型等。 一般在下面的情況下,使用數(shù)組比較合適: ①序列中的元素是簡(jiǎn)單數(shù)據(jù)類型的數(shù)據(jù)。 ②序列中元素的數(shù)目相對(duì)可以固定,插入、刪除和查找操作比較少。 知識(shí)點(diǎn):向量與數(shù)組的區(qū)別 12) 難度:適中 答案:① s1.equal( s2 ); ② s1 + = s2; ③ s1 .length( ); 13) 難度:適中 答案:常量的數(shù)值或數(shù)據(jù)一經(jīng)建立,在程序的整個(gè)運(yùn)行過(guò)程中都不會(huì)改變。變量的數(shù)值或數(shù)據(jù)在程序的運(yùn)行過(guò)程中可以改變。下面的語(yǔ)句定義了一個(gè)字符變量: char ch = ‘a(chǎn)’; 變量ch的初始
29、數(shù)值為‘a(chǎn)’,如果執(zhí)行了下面的賦值語(yǔ)句: ch = ’b’;則ch的數(shù)值改變?yōu)椤痓’。 知識(shí)點(diǎn):字符變量和字符常量的區(qū)別。 14) 難度:適中 答案:字符串是字符的序列。Java程序中的字符串分為String類表示的字符串常量和StringBuffer類表示的字符串變量?jī)纱箢悺? 15) 難度:適中 答案:String類的concat( )方法返回連接后的長(zhǎng)字符串,String類自身并不改變。StringBuffer類的append( )方法在StringBuffer對(duì)象后面添加一個(gè)字符串,改變了原有的字符串。 知識(shí)點(diǎn):String類的concat( )方法與StringBuffe
30、r類的append( )方法之間的區(qū)別。 第三章 判斷題答案 1) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):設(shè)置方法用于給類的private實(shí)例變量賦值。 2) 難度:容易;答案:正確;知識(shí)點(diǎn):對(duì)變量和方法的定義。 3) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):在類定義中,成員訪問(wèn)權(quán)限修飾符可以多次出現(xiàn),而且出現(xiàn)的次序不限。 4) 難度:容易;答案:正確;知識(shí)點(diǎn):點(diǎn)運(yùn)算符的使用。 5) 難度:適中;答案:錯(cuò)誤;知識(shí)點(diǎn):聲明為private的類成員只能被次類中的方法訪問(wèn)。 6) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):類的實(shí)例變量一般設(shè)為private。 7) 難度:容易;答案:正確;知識(shí)點(diǎn):關(guān)鍵字e
31、xtends的使用。 8) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):聲明為public的類成員可以被此類作用域中的任何對(duì)象訪問(wèn)。 9) 難度:容易;答案:正確;知識(shí)點(diǎn):new操作符的使用。 10) 難度:適中;答案:錯(cuò)誤;知識(shí)點(diǎn):static實(shí)例變量代表類范圍的信息。 11) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):Java不支持多重繼承。 12) 難度:容易;答案:正確;知識(shí)點(diǎn):protected類型的實(shí)例變量或方法只能由聲明該變量或方法的類本身及其子類訪問(wèn)。 13) 難度:容易;答案:正確;知識(shí)點(diǎn):超類的繼承性。 14) 難度:容易;答案:正確;知識(shí)點(diǎn):超類的概念。 15) 難度:適中;答
32、案:錯(cuò)誤;知識(shí)點(diǎn):如果沒(méi)有顯式調(diào)用超類的構(gòu)造函數(shù),Java會(huì)自動(dòng)調(diào)用超類的缺省構(gòu)造函數(shù)(隱式調(diào)用)。 16) 難度:容易;答案:正確;知識(shí)點(diǎn):覆蓋的概念。 17) 難度:適中;答案:錯(cuò)誤;知識(shí)點(diǎn):子類不能繼承超類的構(gòu)造函數(shù),然而子類構(gòu)造函數(shù)可以通過(guò)super引用調(diào)用超類的構(gòu)造函數(shù)。 18) 難度:容易;答案:正確;知識(shí)點(diǎn):final類不能被繼承,一個(gè)final類中的所有方法都是隱式的fianl。 19) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn): 抽象類不需要實(shí)例化對(duì)象的類,相反,對(duì)象能被實(shí)例化的類叫做具體類。 20) 難度:容易;答案:正確;知識(shí)點(diǎn):內(nèi)部類的概念。 選擇題答案 1) 難度
33、:容易;答案:D;知識(shí)點(diǎn):OOP將數(shù)據(jù)和方法封裝進(jìn)一個(gè)稱為對(duì)象的包,對(duì)象的數(shù)據(jù)和方法被緊密地聯(lián)系在一起。這對(duì)對(duì)象信息隱藏有好處。 2) 難度:容易;答案:B;知識(shí)點(diǎn):對(duì)象之間的基本關(guān)系是:“包含”、“繼承”、“關(guān)聯(lián)”。 3) 難度:適中;答案:B;知識(shí)點(diǎn):“清華大學(xué)”不是類,而是“大學(xué)“類的實(shí)例對(duì)象,它們之間沒(méi)有繼承的關(guān)系。 4) 難度:適中;答案:A;知識(shí)點(diǎn):靜態(tài)方法的調(diào)用。 5) 難度:容易;答案:AB;知識(shí)點(diǎn):在Java中,ture和false都是小寫(xiě),并且沒(méi)有sizeof這樣的關(guān)鍵字。 6) 難度: 適中;答案:C;知識(shí)點(diǎn):this引用的使用。 7) 難度:適中;答案:B;
34、知識(shí)點(diǎn):構(gòu)造函數(shù)是一個(gè)特殊的方法,用于對(duì)類的實(shí)例變量進(jìn)行初始化。 8) 難度:適中;答案:ACD;知識(shí)點(diǎn):聲明類時(shí)用關(guān)鍵字static。 9) 難度:適中;答案:C;知識(shí)點(diǎn):將變量m改成static int m是因?yàn)榉椒╢un()是靜態(tài)的。 10) 難度:容易;答案:D;知識(shí)點(diǎn):方法main()只能返回一個(gè)空值。 11) 難度:容易;答案:C;知識(shí)點(diǎn):++操作符的使用。 12) 難度:適中;答案:B;知識(shí)點(diǎn):數(shù)組初始化后,其所有元素的值為0。 13) 難度:容易;答案:B;知識(shí)點(diǎn):關(guān)鍵字final表明一個(gè)對(duì)象或變量在初始化后不能修改。 14) 難度:適中;答案:C;知識(shí)點(diǎn):聲明
35、為static的方法不能訪問(wèn)非static類成員。 15) 難度:容易;答案:B. private;知識(shí)點(diǎn):子類不能直接訪問(wèn)它的超類的private成員。 16) 難度:適中;答案:C. protected;知識(shí)點(diǎn):finalize方法的調(diào)用。 17) 難度:適中;答案:D. static private;知識(shí)點(diǎn):final方法的定義永遠(yuǎn)不能改變,編譯器按這種方式優(yōu)化程序。 18) 難度:容易;答案:B;知識(shí)點(diǎn):繼承性使軟件復(fù)用成為可能。 19) 難度:適中;答案:B;知識(shí)點(diǎn):子類的概念。 20) 難度:適中;答案:A;知識(shí)點(diǎn):超類的概念。 21) 難度:適中;答案:ABCD;知
36、識(shí)點(diǎn):四種成員訪問(wèn)形式。 22) 難度:容易;答案:C;知識(shí)點(diǎn):子類和超類的概念。 23) 難度:容易;答案:D;知識(shí)點(diǎn):使用多態(tài)性減少了switch邏輯的使用。 24) 難度:容易;答案:B;知識(shí)點(diǎn):動(dòng)態(tài)綁定就是在運(yùn)行時(shí)才確定調(diào)用那一個(gè)方法。 簡(jiǎn)述題答案 1) 難度:容易 答案:實(shí)體是現(xiàn)實(shí)世界中的物理存在,對(duì)象是計(jì)算機(jī)系統(tǒng)對(duì)現(xiàn)實(shí)實(shí)體的映射和體現(xiàn),類是所有對(duì)應(yīng)同類型實(shí)體的對(duì)象的抽象和公共特征、行為的集合。例如“汽車”是類,“一輛蘋(píng)果綠色的甲克蟲(chóng)車”就是類的一個(gè)實(shí)例對(duì)象。 知識(shí)點(diǎn):對(duì)象、實(shí)體和類的概念及相互之間關(guān)系。 2) 難度:適中 答案:抽象是去除被研究對(duì)象中與主旨無(wú)關(guān)的次
37、要的或暫時(shí)不予考慮的部分,而僅僅抽取出與研究工作有關(guān)的實(shí)質(zhì)性的內(nèi)容加以考察的一種科學(xué)研究方法。過(guò)程抽象將整個(gè)系統(tǒng)的功能劃分為若干個(gè)部分,強(qiáng)調(diào)功能完成的過(guò)程和步驟。數(shù)據(jù)抽象把系統(tǒng)中需要處理的數(shù)據(jù)和這些數(shù)據(jù)上的操作結(jié)合在一起,根據(jù)其功能、性質(zhì)、作用等因素抽象成不同的抽象數(shù)據(jù)類型。每個(gè)抽象數(shù)據(jù)類型既包含了數(shù)據(jù),又包含了針對(duì)這些數(shù)據(jù)的授權(quán)操作。數(shù)據(jù)抽象是相對(duì)于過(guò)程抽象更為嚴(yán)格、更為合理的抽象方法。面向?qū)ο筌浖_(kāi)發(fā)使用數(shù)據(jù)抽象的方法來(lái)建構(gòu)程序的類、對(duì)象和方法。 知識(shí)點(diǎn):抽象的概念及抽象的實(shí)現(xiàn)。 3) 難度:適中 答案:封裝是指利用抽象數(shù)據(jù)類型將數(shù)據(jù)和基于數(shù)據(jù)的操作封裝在一起,數(shù)據(jù)被保護(hù)在抽象類型的
38、內(nèi)部,系統(tǒng)的其他部分只有通過(guò)包裹在數(shù)據(jù)外面的被授權(quán)操作,才能夠與這個(gè)抽象數(shù)據(jù)類型交流和交互。在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,抽象數(shù)據(jù)類型是用“類”這種面向?qū)ο蠊ぞ呖衫斫夂筒倏v的結(jié)構(gòu)來(lái)代表的,每個(gè)類里都封裝了相關(guān)的數(shù)據(jù)和操作。 知識(shí)點(diǎn):封裝的概念及封裝的實(shí)現(xiàn)。 4) 難度:適中 答案:使用抽象可以暫時(shí)去除與核心問(wèn)題無(wú)關(guān)的細(xì)枝末節(jié),是開(kāi)發(fā)工作可以集中在比較關(guān)鍵、主要的部分,從而起到明確工作的重點(diǎn),理清問(wèn)題的脈絡(luò)的作用。使用封裝可以提高數(shù)據(jù)的安全性、系統(tǒng)的嚴(yán)密性,以及開(kāi)發(fā)模塊的可重用性,從而降低開(kāi)發(fā)過(guò)程的復(fù)雜性,提高開(kāi)發(fā)效率和質(zhì)量。 知識(shí)點(diǎn):抽象和封裝的優(yōu)點(diǎn)。 5) 難度:適中 答案:Java程
39、序中使用的類分為系統(tǒng)定義的類和用戶定義類兩種。系統(tǒng)定義的類是Java語(yǔ)言自帶的、已經(jīng)定義了的類,即Java類庫(kù)中的類。用戶自定義類是使用Java語(yǔ)言的開(kāi)發(fā)人員根據(jù)所需要解決的特定問(wèn)題的特定邏輯自行設(shè)計(jì)、定義的類。 知識(shí)點(diǎn):Java程序中使用的系統(tǒng)定義類和用戶定義類的概念。 6) 難度:適中 答案:抽象方法是用abstract修飾符定義的方法。抽象方法只有方法頭,沒(méi)有具體的方法體。使用抽象方法可以為同一父類的所有子類規(guī)定統(tǒng)一的對(duì)外接口,同時(shí)隱蔽了實(shí)現(xiàn)方法中具體功能的代碼細(xì)節(jié)。抽象方法必須定義在抽象類中,該抽象類的子類可以重載父類的抽象方法并賦予它具體的方法體。 知識(shí)點(diǎn):抽象方法的特點(diǎn)及靜
40、態(tài)方法處理的域。 7) 難度:容易 答案:子類的每個(gè)對(duì)象也是其超類的對(duì)象,反之則不然,超類的對(duì)象不一定是它的子類對(duì)象。 知識(shí)點(diǎn):超類和子類的關(guān)系。 8) 難度:適中 答案:“是”是繼承性,一個(gè)子類對(duì)象類按父類對(duì)象類型同樣對(duì)待;“有”是組合性,類的對(duì)象中可以包含一個(gè)或多個(gè)其他類對(duì)象。例如汽車“有”轉(zhuǎn)向輪。 知識(shí)點(diǎn):繼承性和組合性的區(qū)別。 9) 難度:適中 答案:有四種方法 ①用超類引用直接地引用超類對(duì)象。 ②用子類引用直接地引用子類對(duì)象。 ③用超類引用指向一個(gè)子類對(duì)象是安全的,因?yàn)樽宇悓?duì)象也是其超類的對(duì)象。 ④用子類引用引向超類底下是語(yǔ)法錯(cuò)誤,子類引用必須先轉(zhuǎn)換成一個(gè)超類
41、引用。 知識(shí)點(diǎn):子類對(duì)象向超類對(duì)象的轉(zhuǎn)換。 10) 難度:適中 答案:有五點(diǎn): ①含內(nèi)部類的類在編譯時(shí)將為每個(gè)內(nèi)部類生成一個(gè)獨(dú)立的.class文件; ②具有類名的內(nèi)部類可以定義為public,protected,包訪問(wèn)或private,其使用限制和類的其他成員相同; ③為了訪問(wèn)外部類的this引用,可使用“外部類名.this”; ④外部類負(fù)責(zé)創(chuàng)建它的內(nèi)部類的對(duì)象; ⑤內(nèi)部類可以聲明為static,static內(nèi)部類不能訪問(wèn)外部類的非static成員。程序設(shè)計(jì)題答案 1)難度:適中 答案:源程序:Student.java class Student { private
42、String studentId; private int classId; private String studentName; private char studentGender; private int studentAge; String getStudentId( ) {return studentId;} int getclassId( ) {return classId;} char getStudentGender( ) {return studentGender;} String getStudentName( ) {return studentN
43、ame;} int getStudentAge( ) {return studentAge;} char getStudentAge( ) {return studentAge;} boolean setStudentAge( int newAge ) {if( newAge > 0 && newAge < 130 ){ studentAge = newAge; return true;} else{ System .out .println(“非法學(xué)生年齡”); Return false;} } } 知識(shí)點(diǎn):如何創(chuàng)建類”。 2)難度:適中 答案:
44、源程序:Chuangjian.java public class Chuangjian { public static void main(String args[]) {Student demoStudent = new Student();} } class Student { private String studentId; private int classId; private String studentName; private char studentGender; private int studentAge; String getStudentI
45、d() {return studentId;} int getClassId() {return classId;} char getStudentGender() {return studentGender;} String getStudentName() {return studentName;} int getStudentAge() {return studentAge;} boolean setStudentAge(int newAge) {if( newAge>0 && newAge<130){ studentAge = newAge; return
46、 true;} else{ System.out.println("非法學(xué)生年齡!"); return false;} } } 知識(shí)點(diǎn):創(chuàng)建類的對(duì)象。 3.)難度:適中 答案:源程序:Chuangj.java public class Chuangj { public static void main(String args[]) {Student demoStudent = new Student("008",892,'m',"張散",19); System.out.println(demoStudent.toString());} } class S
47、tudent { private String studentId; private int classId; private String studentName; private char studentGender; private int studentAge; String getStudentId() {return studentId;} int getClassId() {return classId;} char getStudentGender() {return studentGender;} String getStudentName() {
48、return studentName;} int getStudentAge() {return studentAge;} boolean setStudentAge(int newAge) {if( newAge>0 && newAge<130){ studentAge = newAge; return true;} else{ System.out.println("非法學(xué)生年齡!"); return false;} } Student(String id, int clsId, char gender, String name, int age) { s
49、tudentId = id; //studentId = new String(id); classId = clsId; studentName = new String(name); studentAge = age; studentGender = gender; } public String toString() {return "學(xué)生信息:\n" + "學(xué)號(hào) " + this.getStudentId() + "\t班號(hào) " + this.getClassId() + "\t姓名 " + this.getStudentName() + "\t性別 " + ((thi
50、s.getStudentGender()) == 'm' ? "男" : "女") + "\t年齡 " + this.getStudentAge();} } 知識(shí)點(diǎn):為類定義構(gòu)造函數(shù)。 4).難度:難 答案:源程序:Yonghu .java import java.applet.*; import java.awt.*; import java.awt.event.*; public class Yonghu extends Applet implements ActionListener {Label numberPrompt; Label passwordPromp
51、t; Label balancePrompt; Label connectNumberPrompt; TextField numberTfd; TextField passwordTfd; TextField balanceTfd; TextField connectNumberTfd; TextArea infoSummary; Button createPhoneCardBtn; PhoneCard myCard; public void init() {numberPrompt = new Label("卡號(hào)"); passwordPrompt = new Lab
52、el("密碼"); balancePrompt = new Label("余額"); connectNumberPrompt = new Label("接入號(hào)碼"); numberTfd = new TextField(10); passwordTfd = new TextField(5); passwordTfd.setEchoChar('*'); balanceTfd = new TextField(5); connectNumberTfd = new TextField(5); infoSummary = new TextArea(8,30); createPhoneC
53、ardBtn = new Button("創(chuàng)建"); add(numberPrompt); add(numberTfd); add(passwordPrompt); add(passwordTfd); add(balancePrompt); add(balanceTfd); add(connectNumberPrompt); add(connectNumberTfd); add(createPhoneCardBtn); add(infoSummary); createPhoneCardBtn.addActionListener(this);} public void a
54、ctionPerformed(ActionEvent e) {try{ myCard = new PhoneCard( Long.parseLong(numberTfd.getText()), Integer.parseInt(passwordTfd.getText()), Double.parseDouble(balanceTfd.getText()), connectNumberTfd.getText()); infoSummary.setText(myCard.toString());} catch(NumberFormatException nfe){ infoSummary
55、.setText("輸入數(shù)據(jù)格式錯(cuò)誤,請(qǐng)重試。"); numberTfd.setText(""); passwordTfd.setText(""); balanceTfd.setText(""); connectNumberTfd.setText("");} }} class PhoneCard {long cardNumber; private int password; double balance; String connectNumber; boolean connected; PhoneCard(long cn, int pw, double b,String
56、s) {cardNumber = cn; password = pw; if ( b > 0 ) balance = b; else System.exit(1); connectNumber = s; connected = false;} boolean performConnection(long cn,int pw) {if(cn == cardNumber && pw == password ){ connected = true; return true;} else{ connected = false; return false;} }
57、 double getBalance() {if(connected) Return balance; else return -1;} void performDial() {if(connected) balance -= 0.5;} public String toString() {String s = "電話卡接入號(hào)碼:"+connectNumber +"\n電話卡卡號(hào):"+cardNumber +"\n電話卡密碼:"+password +"\n剩余金額:"+balance; if(connected) return (s + "\n電話已接通。"); els
58、e return (s + "\n電話未接通。");}} 知識(shí)點(diǎn):this引用的使用。 5)、6)、7)、8)的編程答案略 第四章 判斷題答案 1) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):類和方法一般不能實(shí)現(xiàn)滿足所有用戶需要的錯(cuò)誤處理。 2) 難度:容易;答案:正確;知識(shí)點(diǎn):資源泄露的概念。 3) 難度:適中;答案:正確;知識(shí)點(diǎn):應(yīng)用程序的事件處理。 4) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):發(fā)出一個(gè)異常是否一定不會(huì)是程序終止,但它會(huì)終止產(chǎn)生該異常的塊。 5) 難度:適中;答案:正確;知識(shí)點(diǎn):Java異常處理的機(jī)制。 6) 難度:容易;答案:錯(cuò)誤;知識(shí)點(diǎn):try塊后面緊跟著一個(gè)或多
59、個(gè)catch塊,每個(gè)catch塊指定了它可以捕獲的異常類型,并且包含了一個(gè)異常處理程序。 7) 難度:適中;答案:正確;知識(shí)點(diǎn):在最后一個(gè)catch塊后是一個(gè)可選的finally塊,無(wú)論是否產(chǎn)生異常,它都會(huì)執(zhí)行。 8) 難度:容易;答案:正確;知識(shí)點(diǎn):程序執(zhí)行沒(méi)出現(xiàn)異常時(shí)的處理。 9) 難度:容易;答案:正確;知識(shí)點(diǎn):拋出異常的概念。 10) 難度:適中;答案:錯(cuò)誤;知識(shí)點(diǎn):拋出異常后,控制從當(dāng)前的try塊退出,執(zhí)行try塊后適當(dāng)?shù)腸atch塊處理程序(如果存在)。 選擇題答案 1) 難度:容易;答案:B;知識(shí)點(diǎn):跳過(guò)try塊的異常處理程序,程序在最后一個(gè)catch塊后開(kāi)始執(zhí)行。
60、 2) 難度:容易;答案:A;知識(shí)點(diǎn):大多數(shù)程序不希望捕獲Error對(duì)象。 3) 難度:適中;答案:BC;知識(shí)點(diǎn):catch(Exception e)的用處。 4) 難度:容易;答案:A;知識(shí)點(diǎn):使用finally塊的原因。 5) 難度:適中;答案:AD;知識(shí)點(diǎn):若oneMethod正常運(yùn)行,則catch (ArrayIndexOutOfBoundsException e)和catch (Exception e)將不執(zhí)行。 6) 難度:適中;答案:BC;知識(shí)點(diǎn):選項(xiàng)B和C都使用throws TimedOutException,并且Exception是TimedOutException的
61、超類。 7) 難度:容易;答案:D;知識(shí)點(diǎn):ArrayOutOfBoundsException是Java中預(yù)定以好的異常處理,而ArrayOutOfLengthException不是。 8) 難度:容易;答案:C;知識(shí)點(diǎn):當(dāng)異常發(fā)生時(shí),在一個(gè)方法中throw被用來(lái)表示一個(gè)異常處理被拋出。 9) 難度:適中;答案:CD;知識(shí)點(diǎn):Exception是NullPointerException的超類,并且finally塊將被一直執(zhí)行。 10) 難度:適中;答案:BCD;知識(shí)點(diǎn):如果IOException塊執(zhí)行,只有語(yǔ)句 “l(fā)ocation 1”被跳過(guò);其他的都執(zhí)行。簡(jiǎn)述題答案 1) 難度:容
62、易。 答案:①異常處理用來(lái)處理不經(jīng)常發(fā)生,但通常會(huì)導(dǎo)致程序終止的情況,所以不要求編譯器編寫(xiě)者實(shí)現(xiàn)異常處理;②傳統(tǒng)的控制結(jié)構(gòu)產(chǎn)生的控制流一般更清晰,效果也更高。③在發(fā)生異常時(shí)堆棧是松散的,并且在異常發(fā)生前分配的資源也許不會(huì)被釋放,所以會(huì)出現(xiàn)一些問(wèn)題。④“額外的”異常會(huì)妨礙真正的錯(cuò)誤類型異常。程序員更難以跟蹤大量的異常情況。 2) 難度:容易。 答案:對(duì)象會(huì)被標(biāo)記為垃圾進(jìn)行收集,在對(duì)象被垃圾收集之前會(huì)調(diào)用各個(gè)對(duì)象的finalizer。與一個(gè)try塊相聯(lián)系的catch處理程序(如果存在的話)會(huì)處理這個(gè)異常,該try塊(如果存在)包含了引起異常的catch處理程序。 3) 難度:適中。 答案
63、:異常是Java程序在運(yùn)行過(guò)程中產(chǎn)生的會(huì)終止正常運(yùn)行的意外或錯(cuò)誤。Java的異常處理機(jī)制可以幫助編程者及時(shí)、有效地處理程序可能產(chǎn)生的運(yùn)行時(shí)錯(cuò)誤。系統(tǒng)定義的異常類Exception是所有異常類的祖先,Java系統(tǒng)還另外定義了一些常見(jiàn)的運(yùn)行異常,如輸入輸出異常等。 知識(shí)點(diǎn):異常的概念。 4) 難度:適中。 答案:IOException, ArrayIndexOutOfBoundsException, NumberFormatExceptions 是3個(gè)常見(jiàn)的運(yùn)行異常。用戶程序可以根據(jù)自己的需要,定義在特定問(wèn)題邏輯下非法的狀態(tài)為用戶異常。同用戶程序可以通過(guò)派生系統(tǒng)類Exception的子類來(lái)定
64、義自己的異常。 知識(shí)點(diǎn):自定義異常的概念。 5) 難度:適中。 答案:系統(tǒng)在運(yùn)行一個(gè)Java程序時(shí)如果發(fā)現(xiàn)異常,則先查看這個(gè)Java程序有沒(méi)有定義對(duì)于這個(gè)異常的處理操作;如果沒(méi)有相應(yīng)的處理操作,系統(tǒng)就會(huì)自動(dòng)拋出異常并終止當(dāng)前程序的運(yùn)行。 知識(shí)點(diǎn):拋出系統(tǒng)異常和用戶自定義異常的方法。 程序設(shè)計(jì)題答案 1) 難度:適中 答案:源程序:Xiaoshu.java import java.io.*; public class Xiaoshu {public static void main(String args[]) {String s; double d; int i;
65、 boolean b = false; do{ try { System.out.println("請(qǐng)輸入一個(gè)浮點(diǎn)數(shù): "); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); s = br.readLine();//以字符串方式讀入 i = s.indexOf('.');//找到小數(shù)點(diǎn)的位置 d = Double.parseDouble(s);//將字符串轉(zhuǎn)換成浮點(diǎn)數(shù) System.out.println(d + " 整數(shù)部分為:" + (long)d); if( i == -
66、1 ) //若沒(méi)有小數(shù)點(diǎn),則沒(méi)有小數(shù)部分 System.out.println(d + " 小數(shù)部分為:0.0"); else //若有小數(shù)點(diǎn),則截取小數(shù)點(diǎn)后的字符串合成浮點(diǎn)數(shù) System.out.println(d + " 小數(shù)部分為:" + Double.parseDouble( ((s.charAt(0)=='-') ? "-" : "") + "0." + s.substring(i+1,s.length()))); b = false;} catch(NumberFormatException nfe){ System.out.println("輸入浮點(diǎn)數(shù)格式有誤。\n"); b = true;} catch(IOException ioe) { b = false;}} while(b);//浮點(diǎn)格式錯(cuò)誤時(shí)重新輸入 }// end of main }// end of class 知識(shí)點(diǎn):輸入非法參數(shù)的異常處理。 2) 難度:難 答案:源程序:Yinzi.java import java.applet.*; import java.awt
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 雅馬哈ts-x_ts-s使用說(shuō)明課件
- 多元函數(shù)的微積分
- 商業(yè)保險(xiǎn)與社會(huì)保險(xiǎn)的區(qū)別
- HL-X6280終端培訓(xùn)手冊(cè)
- 汽車電路原理
- 通信網(wǎng)絡(luò)演進(jìn)及LTE關(guān)鍵技術(shù)教材
- 借助展業(yè)夾提升平安福簽單率廣東葉華東終稿[1]課件
- (精品)珠江國(guó)際城代管人員2
- 零售-7-11經(jīng)營(yíng)模式分析
- 電子病歷簡(jiǎn)介及門診醫(yī)生工作站[1]課件
- 食管癌術(shù)后早期營(yíng)養(yǎng)支持相關(guān)研究
- LHQ電纜層保護(hù)器相關(guān)型號(hào)列表參數(shù)
- 大腦前動(dòng)脈動(dòng)脈瘤用
- 甲真菌病各藥物特點(diǎn)教學(xué)課件
- 滑輪組機(jī)械效率