JAVA期末考試復(fù)習(xí)題_第1頁
JAVA期末考試復(fù)習(xí)題_第2頁
JAVA期末考試復(fù)習(xí)題_第3頁
JAVA期末考試復(fù)習(xí)題_第4頁
JAVA期末考試復(fù)習(xí)題_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本文格式為Word版,下載可任意編輯——JAVA期末考試復(fù)習(xí)題

《JAVA程序設(shè)計》練習(xí)題

一、單項選擇擇題

1、編譯JavaApplication源程序文件將產(chǎn)生相應(yīng)的字節(jié)碼文件,這些字節(jié)碼文件的擴展名為(B)。A.javaB..classC.htmlD..exe

2、設(shè)x=1,y=2,z=3,則表達式y(tǒng)+=z--/++x的值是(A)。

A.3B.3.5C.4D.5

3、不允許作為類及類成員的訪問控制符的是(C)。A.publicB.privateC.staticD.protected

4、為AB類的一個無形式參數(shù)無返回值的方法method書寫方法頭,使得使用類名AB作為前綴就可以調(diào)用它,該方法頭的形式為(A)。

A.staticvoidmethod()B.publicvoidmethod()

C.finalvoidmethod()D.abstractvoidmethod()

5、關(guān)于選擇結(jié)構(gòu)以下哪個說法正確?(B)A.if語句和else語句必需成對出現(xiàn)B.if語句可以沒有else語句對應(yīng)

C.switch結(jié)構(gòu)中每個case語句中必需用break語句D.switch結(jié)構(gòu)中必需有default語句

6、while循環(huán)和do…while循環(huán)的區(qū)別是:(D)A.沒有區(qū)別,這兩個結(jié)構(gòu)任何狀況下效果一樣B.while循環(huán)比do…while循環(huán)執(zhí)行效率高

C.while循環(huán)是先循環(huán)后判斷,所以循環(huán)體至少被執(zhí)行一次D.do…while循環(huán)是先循環(huán)后判斷,所以循環(huán)體至少被執(zhí)行一次

7、關(guān)于for循環(huán)和while循環(huán)的說法哪個正確?(B)A.while循環(huán)先判斷后執(zhí)行,for循環(huán)先執(zhí)行后判斷。B.while循環(huán)判斷條件一般是程序結(jié)果,for循環(huán)的判斷條件一般是非程序結(jié)果

C.兩種循環(huán)任何時候都不可以替換

D.兩種循環(huán)結(jié)構(gòu)中都必需有循環(huán)體,循環(huán)體不能為空

8、以下修飾符中與訪問控制無關(guān)的是(D)

A.privateB.publicC.protectedD.final

9、void的含義:(A)A.方法沒有返回

值B.方法體為空

C.沒有意

義D.定義方法時必需使用

10、return語句:(C)

A.只能讓方法返回數(shù)值B.方法都必需含有

C.方法中可以有多句returnD.不能用來返回對象

11、關(guān)于對象成員占用內(nèi)存的說法哪個正確?(B)A.同一個類的對象共用同一段內(nèi)存

B、同一個類的對象使用不同的內(nèi)存段,但靜態(tài)成員共享一致的內(nèi)存空間

C.對象的方法不占用內(nèi)存D.以上都不對

12、以下說法哪個正確?(C)A.不需要定義類,就能創(chuàng)立對象B.對象中必需有屬性和方法

C.屬性可以是簡單變量,也可以是一個對象D、屬性必需是簡單變量

13、以下說法哪個正確?(A)A、一個程序可以包含多個源文件B、一個源文件中只能有一個類C、一個源文件中可以有多個公共類D、一個源文件只能供一個程序使用

14、關(guān)于方法main()的說法哪個正確?(CA.方法main()只能放在公共類中Bmain()的頭定義可以根據(jù)狀況任意更改

)

C.一個類中可以沒有main()方法

D.所有對象的創(chuàng)立都必需放在main()方法中

15、構(gòu)造函數(shù)何時被調(diào)用?(AA、創(chuàng)立對象

時時

C、使用對象的方法

時性時

16、抽象方法:(C)A、可以有方法體

B、可以出現(xiàn)在非抽象類中C、是沒有方法體的方法

D、抽象類中的方法都是抽象方法

)D、使用對象的屬B、類定義

17、關(guān)于繼承的說法正確的是:(B)A、子類將繼承父類所有的屬性和方法。B、子類將繼承父類的非私有屬性和方法。C、子類只繼承父類public方法和屬性D、子類只繼承父類的方法,而不繼承屬性

18、關(guān)于構(gòu)造函數(shù)的說法哪個正確?(C)A、一個類只能有一個構(gòu)造函數(shù)

B、一個類可以有多個不同名的構(gòu)造函數(shù)C、構(gòu)造函數(shù)與類同名

D、構(gòu)造函數(shù)必需自己定義,不能使用父類的構(gòu)造函數(shù)C

19、this和super:(C)A、都可以用在main()方法中B、都是指一個內(nèi)存地址

C、不能用在main()方法中D、意義一致

20、關(guān)于super的說法正確的是:(C)A、是指當(dāng)前對象的內(nèi)存地址

B、是指當(dāng)前對象的父類對象的內(nèi)存地址C、是指當(dāng)前對象的父類D、可以用在main()方法中

21、覆蓋與重載的關(guān)系是(A)

A、覆蓋只有發(fā)生在父類與子類之間,而重載可以發(fā)生在同一個類中

B.覆蓋方法可以不同名,而重載方法必需同名C.final修飾的方法可以被覆蓋,但不能被重載D.覆蓋與重載是同一回事

22、關(guān)于接口哪個正確?(A)A、實現(xiàn)一個接口必需實現(xiàn)接口的所有方法B.一個類只能實現(xiàn)一個接口C.接口間不能有繼承關(guān)系D.接口和抽象類是同一回事

23、異常包含以下哪些內(nèi)容?(A)

A.程序執(zhí)行過程中遇到的事先沒有預(yù)料到的狀況B.程序中的語法錯誤C.程序的編譯錯誤D.以上都是

24、對于已經(jīng)被定義過可能拋出異常的語句,在編程時:(A)

A、必需使用try/catch語句處理異常,或用throws將其拋出

B.假使程序錯誤,必需使用try/catch語句處理異常C.可以置之不理

D.只能使用try/catch語句處理

25、當(dāng)某一線程正處于休眠狀態(tài),而另一個線程用Thread類中的interrupt()方法中斷它時,拋出的異常類型是(C)。

A)IOExceptionB)RuntimeExceptionC)InterruptedExceptionD)ClassNotFoundException

26、下面的程序段的功能是(D)。

Filefile1=newFile(\file1.mkdirs();

A)在當(dāng)前目錄下生成子目錄:\\xxx\\yyy\\zzzB)生成目錄:e:\\xxx\\yyy\\zzz

C)在當(dāng)前目錄下生成文件xxx.yyy.zzzD)以上說法都不對

27、應(yīng)用程序的main方法中有以下語句,則輸出的結(jié)果是(B)。

Strings=

\intn=s.indexOf(\intk=s.indexOf(\Strings2=s.substring(n+1,k);System.out.println(s2);

A)123456B)123C)xxxxxxxxxxxxxxxD)zzzzz

28、關(guān)于下面的程序Test.java說法正確的是(D)。

publicclassTest{Stringx=\

inty;

publicstaticvoidmain(Stringargs[]){

intz=2;System.out.println(x+y+z);}}

A)3B)102C)12D)程序有編譯錯誤

29、應(yīng)用程序的main方法中有以下語句,則輸出的結(jié)果是(A)。

intb[][]={{1,1,1},{2,2},{3}};intsum=0;

for(inti=0;imax)max=x[i];}

System.out.println(max);

A)125B)5C)98D)

168

42、程序Test.java編譯運行后輸出的結(jié)果是(A)。

publicclassTest{Strings1=\

publicstaticvoidmain(Stringargs[]){

intz=2;

Testt=newTest();System.out.println(t.s1+z);}}

A)java2B)2C)沒有輸出結(jié)

果D)java

43、應(yīng)用程序的main方法中有以下語句,則輸出的結(jié)果是(A)。

Strings1=\doublex=Double.parseDouble(s1);inty=Integer.parseInt(s2);System.out.println(x+y);

A)12.5B)120.5C)12“12.5〞

44、如下哪個是Java中的標(biāo)識符(A)A、publicB、superC、3numberD、width

45、如下哪個是Java中的標(biāo)識符(A)

A、fieldnameB、superC、3number#number

D、D)

46、已知如下定義:Strings=\下面哪個語句不是合法的(A)

A、s+=\B、s=s+100;

C、intlen=s.length;t=s+“abc〞;

47、如下哪個是Java中有效的關(guān)鍵字(C)A、nameB、hellofalseD、good

48、下面的代碼段執(zhí)行之后count的值是什么(intcount=1;

for(inti=1;i

1、開發(fā)與運行Java程序需要經(jīng)過的三個主要步驟為編輯源程序、

編譯生成字節(jié)碼和解釋運行字節(jié)碼。

2、在Java的基本數(shù)據(jù)類型中,char型采用Unicode編碼方案,每個Unicode碼占用2字節(jié)內(nèi)存空間,這樣,無論是中文字符還是英文字符,都是占用2字節(jié)內(nèi)存空間。

3、設(shè)x=2,則表達式(x++)/3的值是1。4、若x=5,y=10,則x=y的規(guī)律值分別為true和false。

5、抽象方法是一種僅有方法頭,沒有具體方法體和操作實現(xiàn)的方法,該方法必需在抽象類之中定義。final方法是不能被當(dāng)前類的子類重新定義的方法。

6、創(chuàng)立一個名為MyPackage的包的語句是packagemypackage,

該語句應(yīng)當(dāng)放在程序的位置為:應(yīng)放在程序第一句。

7、設(shè)有數(shù)組定義:intMyIntArray[]={10,20,30,40,50,60,70};則執(zhí)行以下幾個語句后的輸出結(jié)果是120。ints=0;

for(inti=0;i。

6、在Java中定義一個字符串類型的變量str的語句是:Stringstr,定義一個具有10個元素的整型數(shù)組a的語句是:int[]r=newint[10]。

7、導(dǎo)入mypackage包中的所類的命令是impoartmypackage.*;。

8、當(dāng)聲明一個數(shù)組intarr[]=newint[5];時,這代表這個數(shù)組所保存的變量類型是int,數(shù)組名是arr,數(shù)組的大小為5,數(shù)組元素下標(biāo)的使用范圍是0到4。

9、假設(shè)x=13,y=4,則表達式x%y!=0的值是true,其數(shù)據(jù)類型是boolean。

10、異常處理是由

try、catch和finally塊三個關(guān)鍵所組成的程序塊。

11、以下程序段的輸出結(jié)果是三角形intx=5,y=6,z=4;

if(x+y>z

for(inti=a.length-1;i>=0;i--)System.out.print(a[i]+\

三、簡答題

1、簡述Java中異常處理的機制?

答:首先Java的異常是面向?qū)ο蟮?。一個Java的Exception是一個描述異常狀況的對象.當(dāng)出現(xiàn)異常狀況時,一個Exception對象就產(chǎn)生了,并放到異常的成員函數(shù)里。

Java的異常處理是通過5個關(guān)鍵詞來實現(xiàn)的:try,catch,throw,throws和finally。

1.異常處理:在Java語言的錯誤處理結(jié)構(gòu)由try,catch,finally三個塊組成。其中try塊存放將可能發(fā)生異常的Java語言,并管理相關(guān)的異常指針;catch塊緊跟在try塊后面,用來激發(fā)被捕獲的異常;finally塊包含清除程序沒有釋放的資源,句柄等。不管try塊中的代碼如何退出,都將執(zhí)行finally塊。

2.拋出異常:Java語言可以不在方法中直接捕獲,而用throw語句將異常拋給上層的調(diào)用者。Throw語句就是來明確地拋出一個異常;首先你必需得到一個Throwable的實例句柄,通過參數(shù)傳到catch中,或者采用new操作符來創(chuàng)立一個。

2、什么是繼承?

答:通過必要的說明能夠?qū)崿F(xiàn)某個類無需重新定義就擁有另一個類的某些屬性和方法,并把這種關(guān)系稱為繼承,先定義的類稱為父類,后定義的類稱為子類,并且允大量層的繼承關(guān)系。

3、請簡述重載和重寫的區(qū)別?

答:方法的重寫Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。

重寫Overriding是父類與子類之間多態(tài)性的一種表現(xiàn),重載Overloading是一個類中多態(tài)性的一種表現(xiàn)。

假使在子類中定義某方法與其父類有一致的名稱和參數(shù),我們說該方法被重寫(Overriding)。子類的對象使用這個方法時,將調(diào)用子類中的定義,對它而言,父類中的定義宛如被“屏蔽〞了。

假使在一個類中定義了多個同名的方法,它們或有不同的參數(shù)個數(shù)或有不同的參數(shù)類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。

四、寫出下面程序的運行結(jié)果1、importjava.io.*;publicclassabc

{

publicstaticvoidmain(Stringargs[]){

ABs=newAB(\System.out.println(s.toString());}}

classAB{Strings1;Strings2;

publicAB(Stringstr1,Stringstr2){s1=str1;s2=str2;}

publicStringtoString(){

returns1+s2;}}

運行結(jié)果:Hello!IloveJAVA

2、importjava.io.*;publicclassabc{

publicstaticvoidmain(Stringargs[]){inti,s=0;

inta[]={10,20,30,40,50,60,70,80,90};

for(i=0;i

SubClass(intaa,intbb,intcc){super(aa,bb);c=cc;}}

classSubSubClassextendsSubClass{inta;

SubSubClass(intaa,intbb,intcc){super(aa,bb,cc);A=aa+bb+cc;}

voidshow(){

System.out.println(\

}}

運行結(jié)果:a=60b=20c=304、以下程序的輸出結(jié)果為_Peteris17yearsold!________________。publicclassPerson{Stringname;intage;

publicPerson(Stringname,intage){=name;this.age=age;}

publicstaticvoidmain(String[]args){Personc=newPerson(\

System.out.println(+\\}}

5、以下程序的輸出結(jié)果為__課程號:101課程名:ASP學(xué)分:3___________________。publicclassCourse{

privateStringcNumber;privateStringcName;privateintcUnit;

publicCourse(Stringnumber,Stringname,intunit){

cNumber=number;cName=name;

cUnit=unit;}

publicvoidprintCourseInfo(){

System.out.println(\課程號:\課程名:\學(xué)分:\}}

classCourseTest{

publicstaticvoidmain(String[]args){Coursec;

c=newCourse(\c.printCourseInfo();}}

6、以下程序的輸出結(jié)果為__湯姆貓體重:20.0斤___________________。publicclassTom{privatefloatweight;privatestaticStringname;

publicvoidsetWeight(floatweight){this.weight=weight;}

privatevoidout(){

System.out.println(name+\體重:\weight+\斤\}

publicstaticvoidmain(String[]args){T=\湯姆貓\Tomcat=newTom();cat.setWeight(20);cat.out();}}

7、以下程序的輸出結(jié)果_姓名:Tom年齡:15家庭住址:金水區(qū)

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論