Java考試題、題庫、各種考試題_第1頁
Java考試題、題庫、各種考試題_第2頁
Java考試題、題庫、各種考試題_第3頁
Java考試題、題庫、各種考試題_第4頁
Java考試題、題庫、各種考試題_第5頁
已閱讀5頁,還剩116頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、java程序設(shè)計期末考試試題 (一)一、 單選題 1、當某一線程正處于休眠狀態(tài),而另一個線程用 thread 類中的 interrupt() 方法中斷它時,拋出的異常類型是( )。a) ioexception b) runtimeexceptionc) interruptedexception d) classnotfoundexception 2、下面的程序段的功能是( )。file file1=new file(d:xxxyyyzzz);file1.mkdirs();a)在當前目錄下生成子目錄:xxxyyyzzz b)生成目錄: e:xxxyyyzzzc)在當前目錄下生成文件xxx.yyy

2、.zzz d)以上說法都不對 3、應(yīng)用程序的main方法中有以下語句,則輸出的結(jié)果是 ( )。string s = xxxxxxxxxxxxxxx#123#456#zzzzz;int n = s.indexof(#); int k = s.indexof(#, n+1);string s2 = s.substring(n+1, k);system.out.println(s2);a) 123456 b) 123 c) xxxxxxxxxxxxxxx d) zzzzz 4、關(guān)于下面的程序test.java說法正確的是( )。public class test string x=1; int y;

3、 public static void main(string args) int z=2; system.out.println(x+y+z); a)3 b)102 c) 12 d)程序有編譯錯誤 5、應(yīng)用程序的main方法中有以下語句,則輸出的結(jié)果是 ( )。 int b=1, 1, 1, 2,2, 3; int sum=0; for(int i=0; ib.length; i+) for(int j=0; jbi.length; j+) sum+=bij; system.out.println(sum=+sum);a) 10 b)6 c) 9 d) 13 6、應(yīng)用程序的main方法中有以

4、下語句,則執(zhí)行后輸出的結(jié)果是 ( )。int x = 125,21,5,168,98;int min = x0;for (int i=1; ix.length; i+)if(xi min)min = xi;system.out.println(min);a) 125 b) 5 c) 98 d) 168 7、應(yīng)用程序的main方法中有以下語句,則輸出的結(jié)果是 ( )。hashtable hashtable=new hashtable();hashtable.put(100,aaa);hashtable.put(200,bbb);hashtable.put(300,ccc); system.out

5、.println(hashtable.get(300).tostring()+ hashtable.get(200).tostring() + hashtable.get(100).tostring(); a) aaa b) bbb c) ccc d) cccbbbaaa 8、以下關(guān)于java異常說法不正確的是( )。a) throwable 類是 java 語言中error類和exception類的父類。b)當異常對象是exception類(或其子類)的實例時,能通過 java 虛擬機或者 throw 語句拋出該異常對象,并能通過trycatchfinally處理。c)如果只用一個catch

6、塊捕捉多個異常對象,則catch 子句中的參數(shù)類型應(yīng)是所有異常對象的父類。d)以上說法都不對。9、下面的程序創(chuàng)建了一個文件輸出流對象,用來向文件test.txt中輸出數(shù)據(jù),假設(shè)程序當前目錄下不存在文件test.txt,編譯下面的程序test.java后,將該程序運行3次,則文件test.txt 的內(nèi)容是( )。import java.io.*;public class test public static void main(string args) try string s=abcde;byte b=s.getbytes();fileoutputstream file=new fileout

7、putstream(test.txt, true);file.write(b); file.close();catch(ioexception e) system.out.println(e.tostring();a) abcabc b) abcde c)test d) abcde abcde abcde 10、下面說法不正確的是( )?a)列表(list)、集合(set)和映射(map)都是java.util包中的接口。b)list接口是可以包含重復(fù)元素的有序集合。c)set接口是不包含重復(fù)元素的集合。d)map接口將鍵映射到值,鍵可以重復(fù),但每個鍵最多只能映射一個值。二、多選題1、下面哪些

8、關(guān)鍵字能用來控制對類成員的訪問( )?a) public b) protected c) private d) default 2、下面關(guān)于java中異常處理try塊的說法正確的是( )?a) try塊后通常應(yīng)有一個catch 塊,用來處理try塊中拋出的異常。 b) catch 塊后必須有finally塊。c)可能拋出異常的方法調(diào)用應(yīng)放在try塊中。 d)對拋出的異常的處理必須放在try塊中3、線程對象的生命周期中,通常經(jīng)歷下面哪些狀態(tài)( )。a)新建 b)運行 c)就緒 d)死亡 4、定義如下的二維數(shù)組b,下面的說法正確的是( )。int b=1, 2, 3, 4, 5,6, 7, 8;a

9、)b.length的值是3。 b)b1.length的值是3。c)b11的值是5。 d) 二維數(shù)組b的第一行有3個元素 5、類b是一個抽象類,類c是類b的非抽象子類,下列創(chuàng)建對象x1的語句中正確的是( )。a) b x1= new b( ); b) b x1= new c( ); c) c x1=new c( ); d) c x1= new b( );6、下面關(guān)于進程、線程的說法正確的是( )。a)進程是程序的一次動態(tài)執(zhí)行過程。一個進程在其執(zhí)行過程中,可以產(chǎn)生多個線程多線程,形成多條執(zhí)行線索。b)線程是比進程更小的執(zhí)行單位,是在一個進程中獨立的控制流,即程序內(nèi)部的控制流。線程本身不能自動運行,

10、棲身于某個進程之中,由進程啟動執(zhí)行。c)java多線程的運行與平臺相關(guān)。d)對于單處理器系統(tǒng),多個線程分時間片獲取cpu或其他系統(tǒng)資源來運行。對于多處理器系統(tǒng),線程可以分配到多個處理器中,從而真正的并發(fā)執(zhí)行多任務(wù)。7、下面關(guān)于外部類和內(nèi)部類成員的相互訪問的規(guī)則中,正確的選項是( )。a)內(nèi)部類可以直接訪問外部類的成員b)外部類可以直接訪問內(nèi)部類的成員c)外部類不能訪問內(nèi)部類的成員d)外部類可通過創(chuàng)建內(nèi)部類的實例來訪問內(nèi)部類的成員三、程序閱讀題1、閱讀下面的程序代碼,并回答問題(u問3分,v問3分,共6分)。string s1 = new string(abcde);string s2 = ne

11、w string(abcde); boolean b1= s1.equals(s2);boolean b2 = s1= s2; system.out.print(b1+ +b2); u程序段執(zhí)行后,在命令行的輸出結(jié)果如何?v解釋輸出(1)的結(jié)果的原因?答案:u true falsevequals方法比較兩個字符串的內(nèi)容是否相等;運算符“=”判斷兩個對象是否指向同一個引用,即是否為同一個對象。2、閱讀下面的程序,并回答問題(u問3分,v問3分,共6分)。import java.io.*;public class test public static void main(string args)

12、throws ioexception bufferedreader buf=new bufferedreader( new inputstreamreader(system.in); while(true) string str = buf.readline(); if(str.equals(quit) break; int x=integer.parseint(str); system.out.println(x*x); 編譯運行上面的程序:u從鍵盤輸入10,回車后輸出的結(jié)果如何?v從鍵盤輸入exit,回車后程序能正確執(zhí)行嗎?為什么?答案:u100 v不能;因為方法integer.parse

13、int(str)不能將字符串“exit”轉(zhuǎn)化為整數(shù),拋出異常。3、寫出下面的程序編譯、運行后的結(jié)果(6分)。public class test public static void main(string args) new student(tom, m, 90, 88); new student(jack, m, 66, 89); new student(mary, f, 76, 86); system.out.println(nametsextchinesetenglish); student.print(); class student protected string name; pr

14、otected char sex; protected int chinese; protected int english; protected student next; static student list; student (string name, char sex, int chinese, int english) =name; this.sex=sex; this.chinese=chinese; this.english=english; this.next=list; list=this; static void print() student frie

15、nd=list; if (friend=null) system.out.println(the list is empty.); else do system.out.println(friend.tostring(); friend=friend.next; while(friend!=null); public string tostring() return new string(name+t+sex+t+chinese+t+english); 答案:name sex chinese englishmary f 76 86jack m 66 89tom m 90 88java程序設(shè)計期

16、末考試試題 (二)一、填空題1定義類的保留字是( class ),定義接口的保留字是( interface )。2socket通常也稱為 ( 套接字 ),用于描述( ip地址 ) 和 ( 端口 )。 3線程的優(yōu)先級在( 1 )至( 10 )之間,數(shù)值越大( 任務(wù)越緊急 )。4構(gòu)造方法是一種特殊的成員方法,構(gòu)造方法名與( 類名 ) 相同。5java語言只允許單繼承,指每個類只能有一個 ( 父類 )。6java源程序的擴展名是( .java ),經(jīng)過編譯后的程序的擴展名是( .class )。7. 在一個時間只能由一個線程訪問的資源稱為 ( 臨界資源 ) 。訪問臨界資源的代碼( 臨界代碼 )。8.

17、 在多線程系統(tǒng)中,多個線程之間有 ( 同步 ) 和 ( 互斥 ) 兩種關(guān)系。二、選擇題1關(guān)于選擇結(jié)構(gòu)下列哪個說法正確?()aif語句和 else語句必須成對出現(xiàn)bif語句可以沒有else語句對應(yīng)cswitch結(jié)構(gòu)中每個case語句中必須用break語句dswitch結(jié)構(gòu)中必須有default語句2while循環(huán)和 dowhile循環(huán)的區(qū)別是:()a沒有區(qū)別,這兩個結(jié)構(gòu)任何情況下效果一樣bwhile循環(huán)比 dowhile循環(huán)執(zhí)行效率高cwhile循環(huán)是先循環(huán)后判斷,所以循環(huán)體至少被執(zhí)行一次ddowhile循環(huán)是先循環(huán)后判斷,所以循環(huán)體至少被執(zhí)行一次3關(guān)于 for循環(huán)和 while循環(huán)的說法哪個正

18、確?()awhile循環(huán)先判斷后執(zhí)行,for循環(huán)先執(zhí)行后判斷。bwhile循環(huán)判斷條件一般是程序結(jié)果,for循環(huán)的判斷條件一般是非程序結(jié)果c兩種循環(huán)任何時候都不可以替換d兩種循環(huán)結(jié)構(gòu)中都必須有循環(huán)體,循環(huán)體不能為空4下列修飾符中與訪問控制無關(guān)的是()aprivate bpubliccprotecteddfinal5 void的含義:()a方法沒有返回值 b 方法體為空c沒有意義 d.定義方法時必須使用6 return語句:()a只能讓方法返回數(shù)值b方法都必須含有c方法中可以有多句return d不能用來返回對象7關(guān)于對象成員占用內(nèi)存的說法哪個正確?()a同一個類的對象共用同一段內(nèi)存b、同一個類

19、的對象使用不同的內(nèi)存段,但靜態(tài)成員共享相同的內(nèi)存空間c對象的方法不占用內(nèi)存d以上都不對8下列說法哪個正確?a不需要定義類,就能創(chuàng)建對象b對象中必須有屬性和方法c屬性可以是簡單變量,也可以是一個對象d、屬性必須是簡單變量9下列說法哪個正確?()a、一個程序可以包含多個源文件b、一個源文件中只能有一個類c、一個源文件中可以有多個公共類d、一個源文件只能供一個程序使用10關(guān)于方法main()的說法哪個正確?()a方法main()只能放在公共類中b main()的頭定義可以根據(jù)情況任意更改c一個類中可以沒有main()方法d所有對象的創(chuàng)建都必須放在main()方法中11構(gòu)造函數(shù)何時被調(diào)用?()a、創(chuàng)建

20、對象時b、類定義時c、使用對象的方法時d、使用對象的屬性時12抽象方法:()a、可以有方法體b、可以出現(xiàn)在非抽象類中c、是沒有方法體的方法d、抽象類中的方法都是抽象方法13關(guān)于繼承的說法正確的是:()a、子類將繼承父類所有的屬性和方法。b、子類將繼承父類的非私有屬性和方法。c、子類只繼承父類public方法和屬性d、子類只繼承父類的方法,而不繼承屬性14關(guān)于構(gòu)造函數(shù)的說法哪個正確?()a、一個類只能有一個構(gòu)造函數(shù)b、一個類可以有多個不同名的構(gòu)造函數(shù)c、構(gòu)造函數(shù)與類同名d、構(gòu)造函數(shù)必須自己定義,不能使用父類的構(gòu)造函數(shù)15 this和super:a、都可以用在main()方法中b、都是指一個內(nèi)存地

21、址c、不能用在main()方法中d、意義相同16關(guān)于super的說法正確的是:a、是指當前對象的內(nèi)存地址b、是指當前對象的父類對象的內(nèi)存地址c、是指當前對象的父類d、可以用在main()方法中17覆蓋與重載的關(guān)系是()a、覆蓋只有發(fā)生在父類與子類之間,而重載可以發(fā)生在同一個類中b覆蓋方法可以不同名,而重載方法必須同名cfinal修飾的方法可以被覆蓋,但不能被重載d覆蓋與重載是同一回事18關(guān)于接口哪個正確?()a、實現(xiàn)一個接口必須實現(xiàn)接口的所有方法b一個類只能實現(xiàn)一個接口c接口間不能有繼承關(guān)系d接口和抽象類是同一回事19異常包含下列哪些內(nèi)容?()a程序執(zhí)行過程中遇到的事先沒有預(yù)料到的情況b程序中

22、的語法錯誤c程序的編譯錯誤d以上都是20對于已經(jīng)被定義過可能拋出異常的語句,在編程時:()a、必須使用trycatch語句處理異常,或用throws將其拋出b如果程序錯誤,必須使用 trycatch語句處理異常c可以置之不理d只能使用trycatch語句處理21字符流與字節(jié)流的區(qū)別在于()a前者帶有緩沖,后者沒有b前者是塊讀寫,后者是字節(jié)讀寫c. 二者沒有區(qū)別,可以互換使用d. 每次讀寫的字節(jié)數(shù)不同22下列流中哪個不屬于字節(jié)流()afileinputstreambbufferedinputstreamc. filterinputstreamd. inputstreamreader三、程序填空題

23、1.public class sumpublic static void main(string args)int j=10;system.out.println(j is : +j);calculate(j);system.out.println(at last, j is : +j);static void calculate (int j)for (int i = 0;i10;i+)j+;system.out.println(j in calculate() is: +j);輸出結(jié)果為:j is : (1) j in calculate() is : (2)at last j is :

24、(3)答案:(1) 10; (2) 20; (3) 10。2. 按要求填空abstract class superabstractvoid a()abstract void b();abstract int c(int i);interface assupervoid x();abstract class subabstract extends superabstract implements assuperpublic void b()abstract string f();public class inheritabstract extends subabstractpublic void

25、 x()public int c(int i ) public string f()public static void main(string args)inheritabstract instance=new inheritabstract();instance.x();instance.a();instance.b();instance.c(100);system.out.println(instance.f(); 在以上這段程序中:抽象類有:superabstract和(1)(寫出類名)非抽象類有:(2)(寫出類名)接口有:(3)(寫出接口名)assuper中的x()方法是(4)方法,

26、所以在inheritabstract中必須對它進行(5)答案:(1) superabstract;(2) inheritabstract;(3) assuper;(4) 抽象;(5) 覆蓋和實現(xiàn)。3. 按注釋完成程序public class leaf private int i = 0; /此屬性值用于檢驗leaf increment() /定義方法increment(),返回值是leaf類的對象i+;return (1) ;/將當前對象的地址作為返回值返回void print() system.out.println( i = + i);public static void main(str

27、ing args)leaf x = (2); /創(chuàng)建leaf類的對象xx.increment().increment().increment().print();/多次調(diào)用方法increment(),返回的都是x的地址,i 值表示調(diào)用次數(shù)輸出結(jié)果為 i = (3) 答案:(1) this;(2) new leaf();(3) 34.按注釋提示完成文件復(fù)制的程序 /filestream源代碼如下: import java.io.*; class filestream public static void main(string args ) try file infile = new file(

28、file1.txt);/指定源文件 file outfile = new file(file2.txt);/指定目標文件 fileinputstream fis =(1); fileoutputstream fos = new fileoutputstream(outfile); int c; /逐字節(jié)從源文件中輸入,再輸出到fos流while (c = fis.read ()!=-1) (2); fis.close(); fos.close();catch (exception e) system.out.println(filestreamstest: +e); 答案:(1) new fi

29、leinputstream(infile);(2) fos.write(c);5. 閱讀程序,給出結(jié)果:/ abstractclassdemo.java源代碼如下:abstract class shape /定義抽象類shape和抽象方法displayabstract void display();class circle extends shape void display() /實現(xiàn)抽象類的方法system.out.println(circle);class rectangle extends shape void display() /實現(xiàn)抽象類的方法system.out.println

30、(rectangle);class triangle extends shape void display() /實現(xiàn)抽象類的方法system.out.println(triangle);public class abstractclassdemopublic static void main(string args)(new circle().display();/定義無名對象來調(diào)用對應(yīng)的display方法(new rectangle().display();(new triangle().display();輸出結(jié)果是 ?答案:(1) circle; (2) rectangle; (3)

31、triangle。java程序設(shè)計題庫一、選擇題(每小題2分,共40分)1下列關(guān)于java語言的敘述中,正確的是_ a.機器語言b匯編語言c.面向過程的語言d.面向?qū)ο蟮恼Z言2下列_是java合法的標識符 a.static b.5stuc.-3e d. _atm3下列關(guān)于繼承的描述中,正確的是_ _ a. 在java中允許多重繼承b.java的單一繼承使代碼更可靠c. 在java中一個類只能實現(xiàn)一個接口 d.在java中一個類不能同時繼承一個類和實現(xiàn)一個接口4下列_代表十六進制整數(shù) a.0x7e b. 034 c.2e3 d.195下列_符號修飾成員后,可以在java中用類名前綴直接調(diào)用 a.

32、 staticb. abstractc. finald. define6switch語句不能用于下列_數(shù)據(jù)類型 a. byteb. shortc. chard.float7執(zhí)行下列程序段后,b,x,y的值正確的是_int x=6, y=8;boolean b;b= x 2的值是_ a. 1b. 2c. 3d. 49下面是findsum(int m,int n)方法的定義,方法調(diào)用findsum(1,4)的返回結(jié)果是_int findsum(int m,int n) int sum=0; for(int i=m;ib)&(n=c+d)后c的值為 _。a.1 b.2 c. 3 d. 4 13、ja

33、va語言提供的合法的關(guān)鍵字是_ _。achar b.max c.switch d.default14、以下各標識符組中,合法的用戶標識符為_。a. pad、#abc b. b_1、a10 c. void、max d. 8a、temp15、若有double x=2,y;則表達式y(tǒng)=x+5/2的值是_ _。a3 b.4 c.4.5 d.4.016、設(shè)有int x=y=z=1;boolean c;則執(zhí)行語句c=-x0&-y2|-z2;則b、a的值為_ _。a. 3、3 b.3、12 c. 6、12 d. 24、318、 執(zhí)行下面的語句后,x、y、z的值為_ _。 int x=7,y=9,z;z=(x

34、y)?x+y:x/y; a7、9、16 b7、9、0 c16、9、16d16、16、1619、以下關(guān)于if語句的錯誤描述是_ _。a.條件表達式可以是任意的表達式b.條件表達式只能是關(guān)系表達式或邏輯表達式c.條件表達式的括號不能省略d.與else配對的if語句是其之前最近的未配對的if語句21. 下列語句序列執(zhí)行后,k的值是( )。int j=8,k=15;for(int i=2;i!=j;i+=6) k+;a. 18 b. 15 c. 16 d. 1722. 下列語句序列執(zhí)行后,j的值是( )。int j=3, i=2;while(-i != i/j) j=j+2;a. 2 b. 4 c.

35、6 d. 523. 下列語句序列執(zhí)行后,i的值是( )。int i=0;do i +=3; while(i10);a. 3 b. 6 c. 9 d. 1224. 下列語句序列執(zhí)行后,k的值是( )。int i=6, j=8, k=10, n=5, m=7;if(!(ij) k=m+n; else k=m-n;a. 12 b. 2 c. -2 d. 1025. 下列語句序列執(zhí)行后,k的值是( )。 int x=3, y=5, k=0; switch(x%y+3) case 0: k=x*y;break; case 6: k=x/y;break; case 12: k=x-y;break; def

36、ault: k=x*y-x;break; a. 12 b. 0 c. 15 d. -226. 執(zhí)行完下面的程序段后,輸出的結(jié)果是( )。char c=0;for(c=a;c=d) break;system.out.println(+c+);a. e b. f c. a d. d27. 執(zhí)行完下面的程序段后,k的值是( )。 int k=0; label:for(int i=1;i10;i+) for(int j=1;j5;j+) k+=i+j; if(j=3) break label; a. 3 b. 9 c. 12 d. 628. 執(zhí)行完下面的程序段后,k的值是( )。 int k=0; l

37、abel:for(int i=1;i3;i+) for(int j=1;j0)?s.length():0;44下列代表十六進制整數(shù)的是( )。a012345 b2008 c0xfa08 dfb0545在switch(expression)語句中,expression的數(shù)據(jù)型不能是( )。achar bshort cdouble dbyte46指出正確的表達式( )。abyte=128; blong l=0xfffl; cboolean=null; ddouble=0.9239d;47下面關(guān)于類的繼承性的描述中,錯誤的是( )。a繼承是在已有的基礎(chǔ)上生成新類的一種方法bjava語言要求一個子類只有一個父類c父類中成員的訪問權(quán)限在子類中將被改變d子類繼承父類的所有成員,但不包括私有的成員方法48在成員方法的訪問控制修飾符中,規(guī)定訪問權(quán)限包含該類自身,同包的其他類和其他包的該類子類的修飾符是( )。a默認 bprotected cprivate dpublic49在類的修飾符中,規(guī)定只能被同一包類所使用的修飾符是( )。apublic b默認 cf

溫馨提示

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

評論

0/150

提交評論