Java程序設(shè)計(jì)課后練習(xí)答案_第1頁
Java程序設(shè)計(jì)課后練習(xí)答案_第2頁
Java程序設(shè)計(jì)課后練習(xí)答案_第3頁
Java程序設(shè)計(jì)課后練習(xí)答案_第4頁
Java程序設(shè)計(jì)課后練習(xí)答案_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余18頁可下載查看

下載本文檔

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

文檔簡介

1、 J a v a 程 序 設(shè) 計(jì) 課 后 練 習(xí) 答 案第一章 Java 概述一、選擇題1. ( A )是在Dos命令提示符下編譯Java程序的命令,(B )是運(yùn)行Java程序的 命令。A. javacB. javaC. javadocD. javaw2. ( D )不是Java程序中有效的注釋符號。A. lass B. .jar C. .jav D. .java二、簡答題1 、 Java 的跨平臺(tái)的含義是什么為什么 Java 可以跨平臺(tái)Java語言的一個(gè)非常重要的特點(diǎn)就是平臺(tái)無關(guān)性。它是指用Java編寫的應(yīng)用程序編譯后不用修改就可在不同的操作系統(tǒng)平臺(tái)上運(yùn)行。 Java 之所以能平臺(tái)無關(guān),主要

2、是依靠 Java虛擬機(jī)(JVM來實(shí)現(xiàn)的。JVM是一種抽象機(jī)器,它附著在具體操作系統(tǒng)之上,本身 具有一套虛機(jī)器指令,并有自己的棧、寄存器組等。Java 編程人員在編寫完 Java 程序后, Java 編譯器將 Java 源代碼文件編譯后生成字節(jié) 碼文件(一種與操作系統(tǒng)無關(guān)的二進(jìn)制文件)。字節(jié)碼文件通過Java虛擬機(jī)(JVM里的 類加載器加載后,經(jīng)過字節(jié)碼校驗(yàn),由解釋器解釋成當(dāng)前電腦的操作系統(tǒng)能夠識別的目標(biāo) 代碼并最終運(yùn)行。以下圖展示了 Java 程序從編譯到最后運(yùn)行的完整過程。2、 簡述 Java 語言的特點(diǎn)Java 具有以下特點(diǎn):1)、 簡單性Java語言的語法規(guī)則和C語言非常相似,只有很少一

3、部分不同于C語言,并且Java還舍棄了 C語言中復(fù)雜的數(shù)據(jù)類型(如:指針和結(jié)構(gòu)體),因此很容易入門和掌握。2)、 可靠性和安全性Java 從源代碼到最終運(yùn)行經(jīng)歷了一次編譯和一次解釋,每次都有進(jìn)行檢查,比其它只 進(jìn)行一次編譯檢查的編程語言具有更高的可靠性和安全性。3)、 面向?qū)ο驤ava 是一種完全面向的編程語言,因此它具有面向?qū)ο缶幊陶Z言都擁有的封裝、繼承 和多態(tài)三大特點(diǎn)。4)、 平臺(tái)無關(guān)和解釋執(zhí)行Java語言的一個(gè)非常重要的特點(diǎn)就是平臺(tái)無關(guān)性。它是指用Java編寫的應(yīng)用程序編譯后不用修改就可在不同的操作系統(tǒng)平臺(tái)上運(yùn)行。 Java 之所以能平臺(tái)無關(guān),主要是依靠 Java虛擬機(jī)(JVM來實(shí)現(xiàn)的。

4、Java編譯器將Java源代碼文件編譯后生成字節(jié)碼文件(一種與操作系統(tǒng)無關(guān)的二進(jìn)制文件)。字節(jié)碼文件通過Java虛擬機(jī)(JVM里的類加載器加 載后,經(jīng)過字節(jié)碼校驗(yàn),由解釋器解釋成當(dāng)前電腦的操作系統(tǒng)能夠識別的目標(biāo)代碼并最終 運(yùn)行。下圖展示了 Java 程序從編譯到最后運(yùn)行的完整過程。5)、分布式分布式包括數(shù)據(jù)分布和操作分布,而Java支持WW客戶機(jī)/服務(wù)器計(jì)算模式,因此也支 持這兩種分布式。6)、多線程Java 在兩方面支持多線程。一方面, Java 環(huán)境本身就是多線程的。若干個(gè)系統(tǒng)線程運(yùn) 行負(fù)責(zé)必要的無用單元回收,系統(tǒng)維護(hù)等系統(tǒng)級操作;另一方面, Java 語言內(nèi)置多線程控 制,可以大大簡化多

5、線程應(yīng)用程序開發(fā)。如果操作系統(tǒng)本身不支持多線程, Java 的多線程 特性可能就表現(xiàn)不出來。、綜合編程題1、Java 程序”。(注意為程序添請編寫一個(gè)簡單的 Java 程序能夠輸出“這是我的第一個(gè) 加合適的注釋和文檔注釋) 。/*第一個(gè)java程序*/public class Demo /* main 方法,程序的起點(diǎn)*/public static void main (String args) DoubleB. this C. string D. bool1. 下面屬于Java關(guān)鍵字的是(D )。A. NULL B. IF C. Do D. goto2. 在啟動(dòng)Java應(yīng)用程序時(shí)可以通過 m

6、ain()方法一次性地傳遞多個(gè)參數(shù)。如果傳遞的參數(shù) 有多個(gè),可以用空格將這些參數(shù)分割;如果某一個(gè)參數(shù)本身包含空格,可以使用( B ) 把整個(gè)參數(shù)引起來。A. 單引號 B. 雙引號3. 下面哪個(gè)是Java語言中正確的標(biāo)識符(BD )。A. 5x B. $x C. abc D. com4. Java語言中,下列標(biāo)識符錯(cuò)誤的是(D )。A. _abc B. abc C. ABC D. 5abc5. 在Java中,整型常量不可以是( A )。A. double B. Long C. int D. byte6. 在Java中,不屬于整數(shù)常量的是(D )。A. 100 B. 100L C. 0x100A

7、D. 6.0f7. 下面哪個(gè)語句能定義一個(gè)字符變量 chr( B )。A. char chr= 'abcd'B. char chr= u'abcd' ;C. char chr= ”abcd”;D. char chr=uabcd;8. 下面哪個(gè)是對字符串si的不正確定義( CD )A. String s1= ”abcd”; B. String s1;C. String s1= a0b'cd;D. String s1= a”bcd”;9.下面哪個(gè)范圍是char型的取值范圍( C )。A. -256 255 B. - (2A15) (2A15)-1 C. uO

8、OOO' uffff 'D. 032767 1 0.下面哪條語句不能定義一個(gè) float 型的變量 f1( ABD )A. float f1= B. float f1= C. float f1= D. f1=3.14F11.下列運(yùn)算結(jié)果為 float 的是( C )。A. 100/10 B. 100*10 C. +10 D. 100-1012. 數(shù)組中可以包含什么類型的元素( D )。A. int 型 B. string 型 C. 數(shù)組 D. 以上都可以)。D. int arr;13. Java中定義數(shù)組名為xyz,下面哪項(xiàng)可以得到數(shù)組元素的個(gè)數(shù)(BA. ( ) B. C. l

9、en(xyz) D. ubound(xyz)14. 下面哪條語句定義了 3個(gè)元素的數(shù)組( A )。A. int a=20,30,40; B. int a =new int(3); C. int 3 array; 二、簡答題1、Java有哪些基本的數(shù)據(jù)類型寫出這些基本數(shù)據(jù)類型所占用的最大空間(用字節(jié)描述)。(1) 數(shù)字型 (number) ,具體又分為:a. 整型(integers),整型又包括: 字節(jié)整數(shù) (byte, 8 bits) 短整數(shù) (short, 16 bits) 整數(shù) (int, 32 bits) 長整數(shù) (long, 64 bits)b. 實(shí)型(real numbers),具體

10、又分為: 單精度(float, 32 bits) 雙精度(double, 64 bits)(2) 字符型 (char, 16-bit Unicode 字符 )(3) 布爾型 (boolean) 。2、說明Java字符編碼的類型與特點(diǎn)。Java字符編碼的類型為 Unicode,具有以下特點(diǎn):(1) Unicode是16比特的字符編碼,其支持當(dāng)前世界上絕大多數(shù)的語言;(2) Unicode 給每個(gè)字符提供了一個(gè)唯一的編碼表示,不論是什么平臺(tái)、程序或語言;(3) Windows 系統(tǒng)(Windows 2000 版本卜 Java XML、LDAP等已支持 Unicode ;(4) Unicode 實(shí)現(xiàn)

11、了 ISO/IEC 10646標(biāo)準(zhǔn);3、寫出Java中六個(gè)常用的轉(zhuǎn)義字符。b 退格 t 制表符n 換行 (Newline)r 回車 (Carriage return)' 單引號4、下面的幾個(gè)標(biāo)示符哪些是正確的,哪些是錯(cuò)誤的,如果是錯(cuò)誤的,請說明原因。MyClass, _isHis, 3JavaProgram, _$asdf, Java-Visual-MachineMyClass:正確,符合標(biāo)識符的組成規(guī)則。sHis:正確,符合標(biāo)識符的組成規(guī)則。3JavaProgram:錯(cuò)誤,因?yàn)榈?個(gè)符號不能為數(shù)字。_$asdf :正確,符合標(biāo)識符的組成規(guī)則。Java-Visual-Machine:錯(cuò)

12、誤,標(biāo)識符不能為保留字。5、說出常量與變量的定義并舉例說明。 常量是指程序執(zhí)行過程中,值保持不變的量,類型劃分如下:整型常量實(shí)型常量布爾型常量字符型常量字符串常量如整型常量:起始最大整數(shù)(正)最大長整數(shù)(正)舉例十進(jìn)制0,1923, +567,-12,0,1234八進(jìn)制0034,0175,-0777L十六進(jìn)制0x0X7FFFFFFF0X7FFFFFFFFFFFFFFFL0xFF, 0x45L變量是指在程序執(zhí)行過程中,值可以改變的量,類型劃分為:整型變量、實(shí)型變量、字符型變量、字符串變量、布 爾變量等。如:int x=2,就定義了一個(gè)整型變量 x并且賦值為2。6、什么是強(qiáng)制類型轉(zhuǎn)換并說明其運(yùn)用場

13、合。顯型類型轉(zhuǎn)換是強(qiáng)制類型轉(zhuǎn)換,它是一種窄化轉(zhuǎn)換(narrowing conversion),如:double a =;float b = a;編譯: "possible loss of precision"數(shù)據(jù)精度丟失,數(shù)據(jù)丟失。強(qiáng)制類型轉(zhuǎn)換一般運(yùn)用在二元運(yùn)算符的二個(gè)操作數(shù)類型不同表達(dá)式值的類型與變量的類型不同7、描述Java程序的構(gòu)成。如何判斷Java程序的主類下面的程序有哪些錯(cuò)誤并改正,該程序的源代碼應(yīng)當(dāng)保存為什么名字的文件Public class MyClassPublic static void main()my name is ”;the end!")

14、;Java程序的主類中包含 main(),而其它類中沒有;該程序的源代碼應(yīng)當(dāng)保存為。另外該程序中包含以下的錯(cuò)誤:(1) Public的第一個(gè)字符應(yīng)當(dāng)小寫;(2) 定界符“應(yīng)當(dāng)改為""(3) printIn 應(yīng)該為 printin'(4) the end!");代碼應(yīng)放在方法中8、結(jié)構(gòu)化程序設(shè)計(jì)有哪三種基本流程分別對應(yīng)Java中的那些語句結(jié)構(gòu)化程序設(shè)計(jì)有下面三種基本流程:順序結(jié)構(gòu)語句,條件選擇語句,循環(huán)控制語句,跳轉(zhuǎn)/轉(zhuǎn)向語句。條件選擇語句對應(yīng) Java中的if,if-else,嵌套的if-else,條件運(yùn)算符,switch-case。循環(huán)控制語句對應(yīng) Ja

15、va中的for,while,do-while語句。跳轉(zhuǎn)/轉(zhuǎn)向語句對應(yīng) Java中的 contonue,break,return 語句。9、在一個(gè)循環(huán)中使用 break,continue,return的差別。break:跳出(中止)循環(huán)continue : 結(jié)束本次循環(huán)return :方法返回10、數(shù)組的定義,特點(diǎn)與分類。如何進(jìn)行數(shù)組的初始化 數(shù)組的定義:數(shù)組是一組同類型的變量或?qū)ο蟮募?。?shù)組的特點(diǎn): 數(shù)組的類型可以是基本類型, 或類和接口; 數(shù)組中每個(gè)元素的類型相同; 引用數(shù)組元素通過數(shù)組名 下 標(biāo);數(shù)組下標(biāo)(數(shù)組的索引)從0開始。數(shù)組是一種特殊的對象(Object),可以定義類型(聲明);

16、創(chuàng)建數(shù)組(分配內(nèi)存空間); 釋放(Java虛擬機(jī)完成)。數(shù)組分類:一維數(shù)組、多維數(shù)組。1.第三章 面向?qū)ο蟮膶?shí)現(xiàn)A. public int MAX_LENGTH=100B. final int MAX_LENGTH=100A.與文件的結(jié)構(gòu)相同B.與文件的目錄層次相同C.與文件的類型相同D.與文件大小相同下列構(gòu)造方法的調(diào)用方式中,正確的是(C )。A.按照一般方法調(diào)用B.由用戶直接調(diào)用C.可通過 new 自動(dòng)調(diào)用D.被系統(tǒng)調(diào)用選擇題2.在Java中,用package說明一個(gè)包時(shí),該包的層次結(jié)構(gòu)必須是( B )3. int型public成員變量MAX_LENGTH亥值保持為常數(shù)100,則定義這個(gè)變

17、量的語句是 ( D )。C. public const int MAX_LENGTH=100 D. public final int MAX_LENGTH=1004. 在Java中,以下敘述不正確的是(B )A. 構(gòu)造方法名與類名相同。B. 構(gòu)造方法不是用來完成初始化的。C. 構(gòu)造方法由 new 操作調(diào)用,而不能被用戶直接調(diào)用。D. 構(gòu)造方法沒有返回類型。5. 在Java中,下面的敘述哪個(gè)是不正確的(D )A. 類的靜態(tài)方法可以在該類的對象被創(chuàng)建前調(diào)用B. 類的靜態(tài)方法不能訪問該類的非靜態(tài)方法C. abstract 修飾符可以出現(xiàn)在類或方法的前面,但不能出現(xiàn)在變量之前D. final 修飾符可

18、以出現(xiàn)在類或變量之前,但不能出現(xiàn)在方法之前6. 在Java里,下列選項(xiàng)( D )不是實(shí)現(xiàn)面向?qū)ο笏枷氲臋C(jī)制。A. 封裝B. 繼承C. 多態(tài)D. 數(shù)據(jù)類型轉(zhuǎn)換7. 類Worker是類Person的子類,Worker構(gòu)造方法中有一句"super();",該語句是什么意 思( C )A. 調(diào)用類 Worker中定義的super()方法B. 調(diào)用類Person中定義的super()方法C. 調(diào)用類Person的構(gòu)造函數(shù)D. 語法錯(cuò)誤8. 給定Java程序,如下:編譯運(yùn)行,結(jié)果是(C )。public class Testprivate static final int counte

19、r=10;public static void main(String args)A. 10B. 11C. 編譯錯(cuò)誤D. 運(yùn)行時(shí)出現(xiàn)異常9. 給定如下Java代碼,編譯時(shí)會(huì)在( D )出現(xiàn)錯(cuò)誤。(只選擇一項(xiàng))class Parentclass Child extends Parentpublic static void main(String args)A. Parent p1 = new Child( ); 第二行C. 第三行10. 在Java中,某類方法使用下列( BCA. privateB.C. public11. 在Java語言中,如果你有下面的類定義: abstract class

20、Shapeabstract void draw();class Square extends ShapeD. 第四行)訪問修飾符修飾后,可以被其的子類訪問 protectedD. friendly 以下描述正確的是( B )A.一切成功編譯B.Shape可以編譯,Square不能編譯C.Square可以編譯,Shape不能編譯D.Square, Shape都不能編譯12.分析下列Java代碼:class Apublic static void main(String args) method( );static void method( )(0); 編譯運(yùn)行后 ,輸出結(jié)果是 ( A )。A.

21、"Hello"B. "good-bye"C. "Hello"后面是"good-bye"D.代碼不能編譯13. 下表是 final 修飾符與變量、方法、類等一起作用的結(jié)果的對應(yīng)表,但是對應(yīng)關(guān)系存在 錯(cuò)誤,請選擇正確的對應(yīng)關(guān)系。 ( C )概念作用1 變量A 不能再產(chǎn)生子類2 方法B 一旦賦值,就不能更改3類C不能在子類中覆蓋A.1-A2-B3-CB.1-C2-A3-BC.1-B2-C3-AD.1-C2-B3-A14. 有以下程序:public class ConstOver public ConstOver (int

22、 x, int y, int z) 下面哪個(gè)方法重載了上面的 Co nstOver構(gòu)造方法(B )A. protected int ConstOver ( ) B. private ConstOver (int z, int y, byte x) C. public object ConstOver (int x, int y, int z) D. public void ConstOver (byte x, byte y, byte z) 15. 有以下程序:class BaseClass private float x = 1.0f ;public float getVar() ( ret

23、urn x;)class Subclass extends BaseClass private float x = 2.0f;A. good and gbcC. test ok and abcD. test ok and gbc16. 下列哪些語句關(guān)于內(nèi)存回收的說明是正確的 ( B )A. 程序員必須創(chuàng)建一個(gè)線程來釋放內(nèi)存;B. 內(nèi)存回收程序負(fù)責(zé)釋放無用內(nèi)存;C. 內(nèi)存回收程序允許程序員直接釋放內(nèi)存;D. 內(nèi)存回收程序可以在指定的時(shí)間釋放內(nèi)存對象。17. 創(chuàng)建一個(gè)名為 “的”文件,該文件中只有一個(gè)可被整個(gè)工程中的所有類訪問的類,那么 該類的正確聲明應(yīng)為: ( C )A. private cla

24、ss MyClass extends Object B. class TestClass extends ObjectC. public class MyClassD. public class TestClass18. 下列敘述中,錯(cuò)誤的是 ( A )A. 內(nèi)部類的名稱與定義它的類的名稱可以相同B. 內(nèi)部類可用 abstract 修飾C. 內(nèi)部類可作為其他類的成員D. 內(nèi)部類可訪問它所在類的成員19. 用于在子類中調(diào)用被重寫的父類方法的關(guān)鍵字是 ( B )A. thisB.superC.ThisD.Super20. 下面程序輸出結(jié)果是 ( A )public class Delta stat

25、ic boolean foo(char c) return true;public static void main( String argv ) int i =0;for ( foo('A'); foo('B')&&(i<2); foo('C') i+ ;foo('D');A.ABDCBDCBB.ABCDABCDC.編譯錯(cuò)誤D.運(yùn)行時(shí)異常21. 下列( B )修飾符可以使在一個(gè)類中定義的成員變量只能被同一包中的類訪問 A. privateB. 無修飾符C. publicD. protected22. 給出下

26、列代碼,如何使成員變量 m 被方法 fun( )直接訪問 ( C ) class Testprivate int m;public static void fun( )A. 將 private int mB. 將 private int mC. 將 private int mD. 將 private int m改為 protected int m 改為 public int m 改為 static int m 改為 int m23. 已知有下列類的說明,則下列哪個(gè)語句是正確的 ( A )public class Test private float f = ; int m = 12; stat

27、ic int n = 1;public static void main(String args) Test t = new Test( );A. ; B. ;C. ; D. ;24. 下列代碼的執(zhí)行結(jié)果是 ( A )public class Test public void aMethod( ) public static void main(String args)Test test = new Test( ); ( );A. 編譯錯(cuò)誤 B. 0C. 125. 若特快訂單是一A. 使用關(guān)系C. 繼承關(guān)系D. 運(yùn)行成功,但不輸出 種訂單,則特快訂單類和訂單類的關(guān)系是( C )B. 包含關(guān)系D

28、. 無關(guān)系26. 下列代碼中,將引起一個(gè)編譯錯(cuò)誤的行是( D )1) public class Test2)int m,n;3)public Test( ) 4)public Test(int a) m=a;5)public static void main(String args)6)Test t1,t2;7)int j, k;8)j = 0; k = 0;9)t1 = new Test();10)t2 = new Test(j,k);11)12)A.第3行B. 第 5 行C.第6行D. 第 10 行列敘述中,錯(cuò)誤的是( D )A. 父類不能替代子類B. 子類能夠替代父類C. 子類繼承父類D

29、. 父類包含子類程序閱讀題1、 寫出以下程序的結(jié)果:27.public class Test private static void printArray(int arr) for(int i=0;i< ;i+)private static void changeValue(int value) value*=2;private static void changeValue(int arr) for(int i=0;i<i+)arri*=2;public static void main (String args) int arr=1,2,3,4,5; changeValue(a

30、rr0);printArray(arr);changeValue(arr); printArray(arr);運(yùn)行結(jié)果:1,2,3,4,5,2,4,6,8,10,2、指出以下程序的錯(cuò)誤,并改正: public class Main public static final A obj = null; public static void main(String args) obj = new A(); class A 錯(cuò)誤: final 的對象不能改變。3、指出以下程序的錯(cuò)誤,并改正: public class Test public static void main(String args)

31、MyClass obj=new MyClass();+=” ,World! ”; class MyClass public String Info= ” Hello ”; public MyClass(String Info)=Info;錯(cuò)誤:MyClass obj=new MyClass(找不到匹配的構(gòu)造方法。4、指出下面程序的錯(cuò)誤,并改正: abstract class Animal public abstract void saySomething() 你想說什么就說吧! ”); class Dog extends Animal public void saySomething() 我現(xiàn)

32、在有了第二職業(yè):捉耗子! ” ); public class Test public static void main (String args) Animal ani=new Dog();(); 錯(cuò)誤:public abstractvoid saySomething(抽象方法不能有方法體。三、簡答題1、簡述繼承、方法重寫和抽象類如何支持多態(tài)性(略)2、解釋什么是方法重載和重定義,并舉例說明他們的作用。 (略)3、說明抽象類與接口的區(qū)別。 (略)4、 什么是垃圾回收,它是如何工作的什么是finalize()(略)5、舉例說明 this 關(guān)鍵字的作用(略)6、舉例說明 java 中枚舉類型的用法

33、。(略)第四章 異常和異常處理、選擇題1. 以下( A )和( C )是 Throwable 的直接子類B.NullPointerExceptionD.AssertA )B.catchD.throwsA. ErrorC. Exception2. 能單獨(dú)和 finally 塊一起使用的塊是A. tryC. throw 3. 下列異常類中,在多重 catch 中同時(shí)使用時(shí)( C )異常類的 catch 塊應(yīng)該最后列出A. NullPointerExceptionB. ArithmeticExceptionC. ExceptionD. ArrayIndexOutOfBoundsException4.

34、 程序讀入用戶輸入的一個(gè)值,要求創(chuàng)建一個(gè)自定義的異常,如果輸入值大于10,使用throw 語句顯式地引發(fā)異常,異常輸出信息為 "something wrong!", 語句為( C )。A. if (i>10) throw Exception("something wrong!");B. if (i>10) throw Exception e ("something wrong!");C. if (i>10) throw new Exception("something wrong!");D. if

35、 (i>10) throw new Exception e ("something wrong!");5.分析下列Java代碼:class Apublic static void main(String args)method( );static void method( ) try(0);finally編譯運(yùn)行后 ,輸出結(jié)果是(A )B. good-byeD. 代碼不能編譯A. HelloC. Hellogood-bye6. 關(guān)于捕獲錯(cuò)誤的語法 try-catch-finally 的下列描述正確的是( C )。A. try 必須和 catch 搭配使用B. try

36、可以單獨(dú)使用C. try-finally 可以搭配使用D. 在try塊后如果定義了 fin ally,則不能再定義catch塊7. 在Java中,假定有一個(gè)包含引起異常(不是一個(gè)RuntimeException)的代碼的方法,用什么方式告訴方法的調(diào)用者要捕獲該異常。 ( B )A. throw ExceptionB. throws ExceptionC. new ExceptionD. 不用特別指定8. 考慮下列JAVA代碼:class Apublic static void main(String args)try"Hello,World!");這段代碼錯(cuò)誤的原因是( A

37、 )。A. 沒有 catch 和 fin ally 塊B. 沒有拋出異常的代碼不能出現(xiàn)在 try 代碼塊內(nèi)C. 如果沒有catch塊而使用try, main()會(huì)總是拋出異常D. class A沒有 throws lOException9. 考慮一下代碼,編譯運(yùn)行之后,會(huì)( D )String s=null;(0);A. 輸出 nullB. 沒有輸出C. 編譯錯(cuò)誤D. 編譯成功,但是運(yùn)行時(shí)報(bào) NullPointerException異常10. 研究下面的Java代碼:public class testException public static void main(String args)i

38、nt a =0,1,2,3,4;int sum=0;tryfor(int i=1;i<6;i+) sum=sum+ai;catch(ArraylndexOutOfBoundsException e) finally 輸出結(jié)果將是( C )。A. 10 數(shù)組越界程序結(jié)束B. 10 程序結(jié)束C. 數(shù)組越界程序結(jié)束D. 程序結(jié)束第五章 包和字符串 一、 選擇題1. Java編程所必須的默認(rèn)引用包為( B )A. 包B.包C. 包D.以上都不是2. 在Java中,所有類的根類是( A )3. 設(shè)有下面兩個(gè)賦值語句:4.5.x1=("123");x2=("123&qu

39、ot;).intValue(); 下述說法正確的是(x1 為 int 型變量,x2 為 int 型變量,A.B.C.D.D )。x2 為 Integer 類的對象 x1 為 Integer 類的對象x1、x2 均為 Integer 類的對象 x1、x2 均為 int 型變量在Java中,存放字符串常量的對象屬于(A. CharacterC. StringBuffer 已知如下定義: String str =A. char ch = str0;C. String to = (1, 2);B )類對象。IIB. String D.I love"下面(D.設(shè)有以下程序段,執(zhí)行后,屏幕輸出

40、String s1 = "I love "+"China" String s2 = new String(s1); if (s1 = s2) if (s2) = true)A. equals 下列方法中,不屬于類A. toLowerCase () 有下列程序: public class aapublic static void main(String args) String s = ""try double number1 = (s);int number2 = (s);catch(NumberFormatException nfe

41、) catch(Exception e) 執(zhí)行結(jié)果是A.6.7.8.C )。B. Sorry1.VectorD )表達(dá)式是合法的。B. int len = ; str += "China")。B. =String 的方法是B. replace ()C.= equals D C.D.D. 不輸出)。 charAt ()D. append ()C. Sorry第六章 包和字符串程序編譯錯(cuò)誤選擇題下列( A )A. Set 當(dāng)元素個(gè)數(shù)固定時(shí),使用(A. SetB. List集合不能含有重復(fù)元素 B. ListoC. MapD. CollectionD )集合查找效率最高。C. M

42、apD. Arrays你希望存儲(chǔ)少量數(shù)據(jù)并能快速訪問 . 你并不需要排序這些數(shù)據(jù), 那種數(shù)據(jù)結(jié)構(gòu)最適合這種需求 ( D )A. TreeSetB. HashMap C. LinkedList D. 數(shù)組欲構(gòu)造ArrayList類的一個(gè)實(shí)例,此類繼承了 List接口,下列哪個(gè)方法是正確的(B )2.3.4.A. ArrayList myList=new Object();B. List myList=new ArrayList();C. ArrayList myList=new List();D. List myList=new List();5. 關(guān)于HashMap和TreeMap類,判斷下列

43、那種說法是正確的(A )A. 它們都能方便地定位映射中的值對象B. 它們都實(shí)現(xiàn)了 SortedMap接口C. 它們都能高效地按照順序遍歷鍵D. 以上說法都不對6. 下列哪個(gè)不是 Iterator 接口所定義的方法( D )A. hasNext() B. next() C. remove()D. nextElement()7. 關(guān)于鏈表結(jié)構(gòu),陳述錯(cuò)誤的是哪個(gè)( B )A. 鏈表可動(dòng)態(tài)增長B. 在鏈表中查找對象是最有效的C. 鏈表中的元素可以重復(fù)D. 通常情況下,向鏈表中插入元素的效率高于向ArrayList中插入元素的效率8. Java語言的集合框架類定義在(B )語言包中。9. Set 集合如

44、何處理重復(fù)的元素(B )A. 如果試圖向Set集合中添加一個(gè)與集合中已有元素值相同的元素時(shí),將拋出異常B. 如果試圖向Set集合中添加一個(gè)與集合中已有元素值相同的元素時(shí),add方法返回 falseC. 如果試圖向Set集合中添加一個(gè)與集合中已有元素值相同的元素時(shí),將發(fā)生編譯 錯(cuò)誤D. 可以在Set集合中添加一個(gè)與集合中已有元素值相同的元素10. 下列哪項(xiàng)是正確的( D )A. Collection 是集合繼承體系中根類B. Collection 接口中提供了 enumerator 方法C. interator 方法返回 Vector 類的對象D. 實(shí)現(xiàn)Set接口的類對象中,每個(gè)元素的值均不相等

45、11. 給定下列java代碼:import .*;public class LetterASort public static void main(String args) ArrayList <String> strings = new ArrayList <String>( );("aAaA");("AaA");("aAa");("AAaa");(strings);for ( String s : strings ) 對該程序編譯運(yùn)行,結(jié)果是( C )。A. 編譯失敗B. aAaAaAa

46、AAaaAaAC. AAaaAaAaAaaAaAD. AaAAAaaaAaAaAaE. aAaAaAaAaAAAaaF. 運(yùn)行時(shí)拋出異常12.給定下列java代碼:Jpublic class Old public static Object get(List list) return ( 0 );以下選項(xiàng)中,哪三個(gè)能編譯成功(ADE )A.Object o :=(new Lin kedList();B.Object o :=(new Lin kedList<>();C.Stri ng s =:(new Lin kedList<Stri ng>();D.Object o

47、:=(new Lin kedList<Object>();E.Stri ng s =:(String)(new LinkedList<String>();13.給定下列java代碼:public void takeList(List< exte nds Stringlist)0042”;public class MyInt impleme ntsComparableprivate int i;public Myl nt(i nt i) = i;public Stri ng toStri ng() retur n (i); public int compareTo(

48、Object o) Myl nt i2 = (Myl nt)o; return _;public static void main( Stri ng args) ArrayListvMyl nt> list = new ArrayListvMyl nt>(); (new Myl nt(2);(new Myl nt(1); (list);該程序運(yùn)行結(jié)果為1,2,請將以下選項(xiàng)填入下劃線內(nèi)。A. implementsB. ObjectC. ComparableD. protectedE. publicF. i -G. iH. -iI. compare(MyInt o, MyInt i2)

49、J. compare(Object o, Object i2)K. compareTo(MyInt o)L. compareTo(Object o )二、 綜合編程題1. 設(shè)有一數(shù)列:ai=3, a2=8, ,an=2an-i+2an-2,使用堆棧結(jié)構(gòu)輸出an的若干項(xiàng)importpublic class NumNameMap public static void main(String args) HashMap<String,String> stu=new HashMap<String,String>(); ("1","list"

50、;);("2","Bill"); ("3","Ann");2. 有如下的類:public class NumberListprivate ArrayList al;public NumberList(int value)Jpublic class Forest implements Serializable private Tree tree = new Tree(); public static void main(String args) Forest f = new Forest(); try FileOut

51、putStream fs = new FileOutputStream(""); ObjectOutputStream os = new ObjectOutputStream(fs); (f);(); catch (Exception ex) ();class Tree 結(jié)果是什么( B )A. 代碼不能編譯B. 代碼可以編譯,運(yùn)行時(shí)拋出異常C. 一個(gè)Forest實(shí)例被序列化D. 一個(gè)Forest實(shí)例和Tree實(shí)例都被序列化1. 分析下面的代碼:1) import .*;2) public class Foo implements Serializable3) public

52、 int x, y;4) public Foo(i nt x, int y) = x; = y;5) private void writeObject(ObjctOutputStream s) throws lOExcepti on6) (x);7) (y);8) 9) private void readObject(ObjectInputStream s) throws IOException,ClassNotF oun dExceptio nclass Food impleme nts Serializable int good = 3;class Fruit exte nds Food

53、int juice = 5;public class Banana exte nds Fruit int yellow = 4;public static void main( Stri ng args) Banana b = new Banan a(); Banana b2 = new Banan a();A. (b);事件監(jiān)聽器C. 事件源D.事件處理程序1. 以下關(guān)于布局管理器哪句是錯(cuò)誤的( D )A. FlowLayout將組件按順序從左到右、從上到下進(jìn)行排列B. BorderLayout布局將組件按照上、下、左、右、中進(jìn)行排列C. GridLayout布局將組件按照行和列的矩陣進(jìn)行排

54、列D. BorderLayout布局中允許放置多于 5個(gè)的組件2. 以下那句描述不正確(D )A. Swing組件是在AWT基礎(chǔ)上發(fā)展起來的B. Swing組件是純Java的輕量型組件C. 所有的Swing組件均已“開頭D. Swing組件所在的包在中3. 哪個(gè)組件可以從一組選項(xiàng)中選擇多個(gè)選項(xiàng)( C)A. JRadioButtonB. JComboBoxC. JCheckBoxD. JTextField4. 以下哪一個(gè)是JTable的父類( A )A. JComponentB. JContainerC. ComponentD. Container5. 以下菜單類中哪個(gè)是父類( D )A. JCheckBoxMenultemB. JRadioButtonMenultemC. JMenuD. JMenultem第九章JDBC數(shù)據(jù)庫編程一、選擇題1. 用于創(chuàng)建數(shù)據(jù)庫連接的接口是哪個(gè)( B )A. ConnectionB. DriverMa nagerC. Stateme

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論