




版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年宏觀經(jīng)濟學(xué)課件:跨學(xué)科視角
- 2025年麗水貨運從業(yè)資格證模擬考試下載安裝
- 市場渠道管理效果統(tǒng)計表
- 2025年安徽郵電職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性考試題庫及參考答案1套
- 建筑設(shè)計理念與設(shè)計方法試題
- 餐廳狀態(tài)統(tǒng)計表
- 產(chǎn)品性能指標(biāo)表-電子產(chǎn)品行業(yè)
- 2025年江西貨運從業(yè)資格考試題目及答案大全及解析
- 《牛頓第二定律的應(yīng)用:高中物理必修課程教案》
- 2025年安徽冶金科技職業(yè)學(xué)院單招職業(yè)傾向性考試題庫及答案1套
- 《一生中愛》諧音歌詞
- 零星工程(零星用工)簽認單
- 氬氣安全技術(shù)說明書MSDS
- 四年級數(shù)學(xué)下冊教案-練習(xí)一-北師大版
- 5G手機無線通訊濾波芯片產(chǎn)業(yè)化項目環(huán)境影響報告表
- 《對外援援助成套項目勘察設(shè)計取費標(biāo)準(zhǔn)內(nèi)部暫行規(guī)定(稿)》
- 通用反應(yīng)單元工藝
- 空冷塔施工方案
- 電飯煲的智能控制系統(tǒng)設(shè)計
- 儲罐玻璃鋼內(nèi)防腐
- 2013-2015北京地鐵部分線路年客流量
評論
0/150
提交評論