版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
河南理工大學(xué)JAVA期末考試試卷和習(xí)題及答案匯總
一、單項選擇題
1.下面哪個不是Java中的容器?B
A、ScrollPaneB、CanvasC、AppletD、Dialog
2.下面哪個方法與applet的顯示無關(guān)?A
A、draw。B、update()C、repaint0D、paint()
3.以下哪個方法用于定義線程的執(zhí)行體?C
A、start()B、init()C、run()D、synchronized()
4.當(dāng)Frame改變大小時,放在其中的按鈕大小不變,則使用如下哪種布局方式?A
A、FlowLayoutB、CardLayoutC、BorderLayoutD、GridLayout
5.有如下代碼段:
1)
2){if(unsafe()){//dosomething,?,}
3)elseif(safe()){//dotheother…}
4))
其中,方法unsafe。將拋出lOException,請問可將以下哪項填入第1行?D
A、publiclOExceptionmethodName()
B、publicvoidmethodName()
C、publicvoidmethodName()throwlOException
D、publicvoidmethodName。throwslOException
6.以下哪個關(guān)鍵字可以用來對對象加互斥鎖?B
A、transientB、synchronizedC、serializeD>static
7.編譯并運(yùn)行以下程序,以下描述哪個選項是正確的C
1.classA{
2.protectedbooleanequals(){
3.returnsuper,equals();}
4.)
A、編譯通過運(yùn)行無異常B、編譯通過但運(yùn)行時出錯
C、行2出錯,不能成功編譯D、不能成功編譯,行3出錯
8.在使用interface聲明一個接口時,只可以使用(D)修飾符修飾該接口。
A、privateB、protectedC、privateprotectedD、public
9.Java的字符類型采用的是Unicode編碼方案,每個Unicode碼占用(B)個
比特位。
A、8B、16C、32D、64
10.在編寫JavaApplet程序時,若需要對發(fā)生的事件作出響應(yīng)和處理,一般
需要在程序的開頭寫上(D)語句。
A、importjava.awt.*;B、importjava,applet.*;
C、importjava.io.*;D、importjava.awt.event.*;
11.以下關(guān)于構(gòu)造函數(shù)的描述錯誤的是(A)。
A、構(gòu)造函數(shù)的返回類型只能是void型。
B、構(gòu)造函數(shù)是類的一種特殊函數(shù),它的方法名必須與類名相同。
C、構(gòu)造函數(shù)的主要作用是完成對類的對象的初始化工作。
D、一般在創(chuàng)建新對象時,系統(tǒng)會自動調(diào)用構(gòu)造函數(shù)。
12.有程序如下,關(guān)于程序的描述哪個是正確的?(C)
publicclassPerson{
staticintarr[]=newint[10];
publicstaticvoidmain(Stringa[])
{System,out.println(arr[l]);}
)
A、編譯將產(chǎn)生錯誤B、編譯時正確,但運(yùn)行時將產(chǎn)生錯誤
C、正確,輸出0D、正確,輸出null
13.有語句Strings="rhelloworld";,以下操作哪個是不合法的?(B)
A、inti=s.length();B、s>>>=3;C、Stringts=s.trim。;D、Stringt=s+"!
14.給出如下代碼:
classTest{
privateintm;
publicstaticvoidfun(){
//somecode...
)
)
如何使成員變量m被函數(shù)fun()直接訪問?(C)
A、將privateintm改為protectedintm
B、將privateintm改為publicintm
C、將privateinim改為sialicinim
D、將privateintm改為intm
15.Javaapplication中的主類需包含main方法,main方法的返回類型是什
么?(D)
A、intB、floatC、doubleD、void
16.有以下方法的定義,請選擇該方法的返回類型(D)o
ReturnTypemethod(bytex,doubley)
(
return(short)x/y*2;
}
A、byteB、shortC>intD、double
17.下列哪些語句關(guān)于Java內(nèi)存回收的說明是正確的?(B)
A、程序員必須創(chuàng)建一個線程來釋放內(nèi)存
B、內(nèi)存回收程序負(fù)責(zé)釋放無用內(nèi)存
C、內(nèi)存回收程序允許程序員直接釋放內(nèi)存
D、內(nèi)存回收程序可以在指定的時間釋放內(nèi)存對象
18.在編寫JavaApplet程序時,若需要對發(fā)生的事件作出響應(yīng)和處理,一般
需要在程序的開頭寫上(D)語句。
A、importjava.awt.*;B、importjava,applet.*;
C、importjava.io.*;D>importjava.awt.event.*;
19.容器Panel和Applet缺省使用的布局編輯策略是(B)
A、BorderLayoutB、FlowLayoutC、GridLayoutD、CardLayout
20.設(shè)有下面兩個賦值語句:
a=Integer,parselnt("123");
b=Integer.valueOf("123").intValue();
下述說法正確的是(D)
A、a是整數(shù)類型變量,b是整數(shù)類對象。B、a是整數(shù)類對象,b是整數(shù)類型變量。
C、a和b都是整數(shù)類對象并且值相等。D、a和b都是整數(shù)類型變量并且值相等。
21.編譯并運(yùn)行以下程序,以下描述哪個選項是正確的(C)。
1.classA{
2.protectedStringtoString(){
3.returnsuper.toString();}
4.)
A、編譯通過運(yùn)行無異常B、編譯通過但運(yùn)行時出錯
C、行2出錯,不能成功編譯D、不能成功編譯,行3出錯
22.有以下程序片段,下列哪個選項不能插入到行1。(D)
1.
2.publicclassInteresting{
3.//dosth
4.)
A、importjava.awt.*;B^packagemypackage;
C、classOtherClass{}D、publicclassMyClass{}
23.以下哪個不是Java的關(guān)鍵字?(A)
A、TRUEB、constC、superD、void
24.關(guān)于以下application的說明,正確的是(C)o
1.classStaticStuff
2.{
3.staticintx;
4.static{x+=5;}
5.publicstaticvoidmain(Stringargs[])
6.{
7.System,out.printin("x="+x);
8.)
9.static{x/=5;}
10.)
A、4行與9行不能通過編譯,因為缺少方法名和返回類型
B、9行不能通過編譯,因為只能有一個靜態(tài)初始化器
C、編譯通過,執(zhí)行結(jié)果為:x=l
D、能通過編譯,但程序運(yùn)行結(jié)果不可預(yù)知,因為變量x沒有初始化
25.FilterOutputStream是BufferedOutputStream>DataOutputStream及
PrintStream的父類,以下哪個類可能是FilterOutputStream構(gòu)造函數(shù)的參數(shù)
類型?B
A、OutputstreamB、FileC、InputStreamD、BufferedOutputStream
26.在使用interface聲明一個接口時,只可以使用(D)修飾符修飾該接口。
A、privateB^protectedC、privateprotectedD、public
27.有程序片段如下,以下哪個表示式的結(jié)果為true?(B)
Floats=newFloat(0.If);
Floatt=newFloat(0.If);
Doubleu=newDouble(0.1);
A、s==tB、s.equals(t)C、u.equals(s)D、t.equals(u)
1、編譯JavaApplication源程序文件將產(chǎn)生相應(yīng)的字節(jié)碼文件,這些字節(jié)碼
文件的擴(kuò)展名為(B)0
A.javaB.class
C.htmlD.exe
2、以下哪一個不是JAVA的標(biāo)準(zhǔn)數(shù)據(jù)流(D)。
A.標(biāo)準(zhǔn)輸出數(shù)據(jù)流B.標(biāo)準(zhǔn)輸入數(shù)據(jù)流
C.標(biāo)準(zhǔn)錯誤數(shù)據(jù)流D.標(biāo)準(zhǔn)運(yùn)算數(shù)據(jù)流
3、.class和.java文件的含義分別是:(A)
A.JavaH標(biāo)碼文件和源文件;B.Java可執(zhí)行文件和目標(biāo)碼文件;
C.Java源文件和目標(biāo)碼文件;D.Java源文件和Java平臺配置文件;
4、面板的邊框有哪幾種?(D)
A.面板沒有邊框;B.僅有單線邊框;
C.僅有黑色的邊框;D.而板缺省沒有邊框,但可以設(shè)置單線、斜坡、不光
滑等多種線形,可以設(shè)置邊框的顏色、寬度等,還可以設(shè)置邊框與內(nèi)容之間的舉
例等;
5、以下兒個命名方法,不符合Java命名規(guī)范的是:(D)
A.類的名稱:MyClassName;B.變量的名稱:myArray;
C.常量的名稱:PI_VALUE;D.成員函數(shù)的名稱:GetName;
6、在下面的代碼中,break語句的作用是:(C)
for(inti=0;i<10;i++)
if(aData[i]==TargetData){
FoundID=i;
break;
)
A.退出if程序塊;B.退出此次循環(huán),直接進(jìn)入下一次循環(huán);
C.退出整個循環(huán);D.退出整個函數(shù);
7、以下項中,不屬于成員變量的定義部分的是:D
A.訪問級;B.變量名稱;C.變量類型;D.變量的初始化方式;
8、以下關(guān)于異常捕獲的原則中,錯誤的是(D)
ARuntimeException可以不被捕獲,Java會自動處理運(yùn)行期異常。
B先列出子類,后列出父類。
C先列出具體的異常類,后列出通用的異常類。
DException類必須出現(xiàn),而且必須作為catch塊第一個兀配的類。
9、Java的一個重要特點(diǎn)是結(jié)構(gòu)中立性,這種結(jié)構(gòu)中立性表現(xiàn)在(C)
A用Java編寫的源程序無需編譯,直接通過Java平臺解釋執(zhí)行。
BJava源程序在不同的硬件和操作系統(tǒng)下,直接編譯成該硬件和操作系統(tǒng)
能夠運(yùn)行的程序并運(yùn)行。
CJava源程序編譯成?種結(jié)構(gòu)中立的目標(biāo)文件格式,再有Java平臺在不同
的硬件和操作系統(tǒng)下運(yùn)行。
DJava源程序編譯成一種通用的可執(zhí)行程序,現(xiàn)在的硬件和操作系統(tǒng)都支
持這種通用的可執(zhí)行程序。
10、在Swing中,一下列出的面板的作用中,錯誤的是(C).
A.放置并排列組件B顯示背景圖案;C接收事件;D顯示面板的邊框;
11、.在Swing中,如何設(shè)置組件的邊框?(C)
A通過根窗格的setBorder函數(shù)設(shè)置某各組件的邊框;
B通過內(nèi)容窗格的setBorder函數(shù)設(shè)置某各組件的邊框;
C通過組件的setBorder函數(shù)設(shè)置;
D通過框架的setBorder函數(shù)設(shè)置某各組件的邊框;
12、以下關(guān)于框架和其他窗口之間的關(guān)系中,錯誤的是(D)
A對話框必須依附于某個框架
B當(dāng)框架最小化時,所有依附于它的窗口也會最小化
C框架是一個程序的主窗口,每個具有圖形界面的程序都至少要有一個框架
D內(nèi)部框架也是頂級容器組件
13、創(chuàng)建并顯示框架的步驟中,錯誤的是(A)
A將框架對象與入口類相連接
B在框架中加如組件
C創(chuàng)建一個框架對象
D調(diào)用框架對象的setVisible函數(shù)顯示框架
14、如何在框架中顯示標(biāo)題?(C)
A調(diào)用根窗格的setTitle函數(shù)顯示
B調(diào)用內(nèi)容窗格的setTitle函數(shù)顯示
C調(diào)用框架對象的selTille函數(shù)顯示
D調(diào)用框架對象的Border對象的setTitle函數(shù)顯示
15、下列關(guān)于Java語言的特點(diǎn),描述錯誤的是(C)
A.Java是跨平臺的編程語言B.Java支持分布式計算
CJava是面向過程的編程語言D.Java支持多線程
16、下述概念中不屬于面向?qū)ο蠓椒ǖ氖荄―o
A.對象、消息B.繼承、多態(tài)C.類、封裝D.過程調(diào)用
17、結(jié)構(gòu)化程序設(shè)計所規(guī)定的三種基本控制結(jié)構(gòu)是(C)
A.輸入、處理、輸出B.樹形、網(wǎng)形、環(huán)形
C.順序、選擇、循環(huán)D.主程序、子程序、函數(shù)
18、以下聲明合法的是(B)
A.defaultStrings;B.publicfinalstaticnativeintw()
C.abstractdoubled;D.AbstractfinaldoublehyperbolicCosine()
19>Applet可以做下列哪些操作?C
A.讀取客戶端文件B.在客戶端主機(jī)上創(chuàng)建新文件
C在客戶端裝載程序庫D.讀取客戶端部分系統(tǒng)變量
20、下列關(guān)于for循環(huán)和while循環(huán)的說法中哪個是正確的?c
A.while循環(huán)能實現(xiàn)的操作,for循環(huán)也都能實現(xiàn)
B.while循環(huán)判斷條件一般是程序結(jié)果,for循環(huán)判斷條件-一般是非程序結(jié)
果
C.兩種循環(huán)任何時候都可替換
D.兩種循環(huán)結(jié)構(gòu)中都必須有循環(huán)體,循環(huán)體不能為空
1、編譯JavaApplication源程序文件將產(chǎn)生相應(yīng)的字節(jié)碼文件,這些字節(jié)碼
文件的擴(kuò)展名為(B)。
A.javaB.classC.htmlD.exe
2、設(shè)x=1,y=2,z=3,則表達(dá)式y(tǒng)+=z---/++x的值是(A)。
A.3B,3.5C.4D.5
3、在JavaApplet程序用戶自定義的Applet子類中,一般需要重載父類的
(D)方法來完成一些畫圖操作。
A.start()B.stop()C.init()D.paint()
4、不允許作為類及類成員的訪問控制符的是(C)「
A.publicB.privateC.sialicD.protected
5、為AB類的一個無形式參數(shù)無返回值的方法method書寫方法頭,使得使用類
名AB作為前綴就可以調(diào)用它,該方法頭的形式為(A)o
A.staticvoidmethod()B.publicvoidmethod()
C.finalvoidmethod()D.abstractvoidmethod()
1、Java中復(fù)合數(shù)據(jù)類型不包括(D)
A.類類型B.數(shù)組C.接口類型D.指針
2、請從四個選項中選擇答案,下列代碼的執(zhí)行結(jié)果是:(C)
PublicclassTest{
Publicstaticvoidmain(Stringargs[]){
Floatt=9.Of;
Intq=6;
System,out.printin((t++)*(一q));
A.40B.40.0C.45.0D.36.0
3、下列關(guān)于修飾符混用的說法,錯誤的是(D)
A.abstract不能與final并列修飾同一■個類
B.abstract類中可以有非abstract的方法
C.普通類(非abstract類)中不能有abstract方法
D.sialic方法中能處理非sialic的屬性
4、關(guān)于被保護(hù)訪問控制符protected修飾的成員變量,以下說法正確的是(A)
A.可以被該類自身、與它在同一個包中的其它類、在其它包中的該類的子類所
訪問
B.只能被該類本身和該類的所有的子類訪問
C.只能被該類自身所訪問
D.只能被同一個包中的類訪問
5、x=2,y=3,z=4,則表達(dá)式z*=y++*—x的值是(A)
A.12B.24C.16D.3
6、以下賦值語句正確的是(D)
A.charcl="a"B.floatf1=3.22C.bytebl=266D.longLl=0xAC8L
7、Java不支持多重繼承,但我們可以通過(B)實現(xiàn)
A.多態(tài)B.接口C.覆蓋D.抽象類
8.已知類person是類student的父類,以下數(shù)組定義和賦值哪些是正確的(A)
A.personp[]=newperson[3];p[l]=newstudent。;
B.students[]=newperson[3];s[1]=newperson();
C.personp[]=newstudent[3];p[l]=newpersonO;
D.students[]=newstudent[3];s[1]=newperson;
9編譯MyClass.java之后,得到了三個字節(jié)碼文件:MyClass.class,
MyClasslittle$.classMyClass$l.class.這表明(C)
A.MyClass類中的兩個方法:little和1
B.MyClass.Java中有三個類:MyClass>little和1
CMyClass類中有兩個內(nèi)部類:一個是命名的litlle,另一個是匿名的1
D.MyClass、little和1,這三者沒什么關(guān)系
10、main方法是javaApplication程序執(zhí)行的入口點(diǎn),關(guān)于main方法的方法
頭以下(B)是合法的。
A.publicstaticvoidmain()B.publicstaticvoidmain(Stringarg口)
C.publicstaticintmain(String[]arg)D.B.publicvoidmain(String
arg口)
11、當(dāng)編譯和運(yùn)行下面的代碼會出現(xiàn)什么情況?(A)
Importjava.io.*;
ClassExBase{
Abstractpublicvoidmartley()
)
PublicclassMyExextendsExBase{
Publicstaticvoidmain(Stringargv[]){
DatalnputStreamfi=newDatalnputStream(System,in);
Try{
Fi.readChar();
)
Catch(lOEceptione){
System,exit(0);
)
Finally{System,out.println(uDoingfinally");)
)
)
A.編譯錯誤B.可以運(yùn)行,沒有打印出"Doingfinally"
C.可以運(yùn)行,在打印出"Doingfinally"后退出D.在運(yùn)行之后立即退出
12、當(dāng)編譯和運(yùn)行下面的代碼會出現(xiàn)什么情況?(D)
PublicclassSandys{
Privateintcourt;
Publicstaticvoidmain(Stringargv[]){
Sandyss=newSandys(99);
System.out.println(s.court);
)
Sandys(intballeount){
court=ballcount;
)
)
A編譯錯誤,變量court被定義為private
B編譯錯誤,System,out調(diào)用的s沒有被初始化
C可以編譯和運(yùn)行,沒有輸出結(jié)果
D可以編譯和運(yùn)行,輸出結(jié)果為99
13、給出下面的代碼:
ClassBase{}
ClassAggextendsBase{
PublicStringgetFields(){
Stringname=wAgg”;
Returnname;
}
}
PublicclassAvf{
Publicstaticvoidmain(Stringargv[]){
Basea=newAgg();
//Here
)
)
當(dāng)把下面的代碼添加到注釋"/Here"后面,程序的輸出結(jié)果是“Agg”(D)
A.System,out.printin(a.getFields())B.System,out.println(a.name)
C.System,out.printin((Base)a.getFields())
D?System.oul.prinlln(((Agg)a),getFields())
14、當(dāng)編譯和運(yùn)行下面的代碼會出現(xiàn)什么情況?(A)
AbstractclassBase{
Abstractpublicvoidmyfunc();
Publicvoidanother(){
System,out.println(uAnothermethod");
}
)
PublicclassAbsextendsBase{)
Publicstaticvoidmain(Stringargv[]){
Absa=newAbs();
a.amethodO;
Publicvoidmyfunc(){
System,out.printin(^MyFunc”)
}
A可以編譯和運(yùn)行,輸出的結(jié)果是“Myfunc”
B出現(xiàn)編譯錯誤:Base類中沒有抽象方法
C可以編譯,但運(yùn)行是提示Base類中沒有抽象方法
D出現(xiàn)編譯錯誤,Base類中的方法myfunc沒有方法體
15、編譯和運(yùn)行下面的代碼會出現(xiàn)(D)
Importjava.io.
ClassBase{
PublicvoidamethodOthrowsFileNotFoundException{}
)
PublicclassExcepDemoextendsBase{
Publicstaticvoidmain(Stringargv[J){
NewExcepDemo();
}
PublicvoidamethodO{}
ProtectedExcepDemo(){
try{
BufferedReaderinputStream=newBufferedReader(newInputStreamReader);
System.out.println("Pausing");
inputstream.readLine0;
System,out.println("Contimuing”);
This,amethod();
}catch(lOExceptionioe){}
)
A編譯錯誤,因為構(gòu)造方法被聲明為protected
B編譯錯誤,因為方法amethod沒有拋出異常
C運(yùn)行時錯誤,因為方法amthod沒有拋出異常
D可以編譯和運(yùn)行,輸出的結(jié)果是:Pausing…Continuing
其中…表示等待用戶的鍵盤輸入
17、以下程序的輸出結(jié)果是(C)
classAclass{
voidgo(){System.out.println("Aclass");}
)
publicclassBclassextendsAclass{
Voidgo{
System,out.println("Bclass");
)
Publicstaticvoidmain(Stringargs[]){
Aclassa=newAclass();
Aclassal=newBclass();
a.go();
al.go();
A、Aclass
Aclass
B、Bclass
Bclass
C、Aclass
Bclass
D、Bclass
Aclass
18、看以下程序
Booleana=false;
Booleanb=true;
Booleanc=(a&&b)&&(!b);
Intresult=c==false?l:2;
這段程序執(zhí)行完后,c與result的值是:(A)
Ac二false;result=1;Bc=true;result=2;
Cc=true;result=l;Dc=false;result=2;
19、下面哪個單詞是Java語言的關(guān)鍵字(B)
A.FloatB.thisC.stringD.unsigned
20>switch語句(A)
A.都可以用if-elseif結(jié)構(gòu)實現(xiàn)
B.都不可以用if-elseif結(jié)構(gòu)實現(xiàn)
C.有的可以用if-elseif結(jié)構(gòu)實現(xiàn)
D.大部分不可以用if-elseif結(jié)構(gòu)實現(xiàn)
21、在異常處理中,如釋放資源、關(guān)閉文件等善后操作由(C)來完成。
A.try子句B,catch子句Afinally子句D.throw子句
22、下面哪個是Java語言中正確的標(biāo)識符(C)
A.3comB.importC.thatD.this
23、下面哪個修飾符修加布族只能被本類中的其他方法使用(C)
A.protectedB.staticC.privateD.
24、下面哪條語句定義了5個元素的數(shù)組(A)
A?int□a={22,23,24,25,12};
B.inta□二newint(5);
C.int[5]array;
D.int[]arr;
25、下面哪項可以得到數(shù)組元素的個數(shù),Java中定義數(shù)組名為abc。(B)
A.abc.length()B.abc.lengthC.len(abc)D.ubound(abc)
26、下面哪個修飾符修飾的變量是所有同一個類生成的對象共享的(C)
A.publicB.privateC.staticD.final
27、下面關(guān)于構(gòu)造方法的說法不正確的是(B)
A、構(gòu)造方法也屬于類的方法,用于創(chuàng)建對象的時候給成員變量賦值。
B、構(gòu)造方法不可以重載。
C、構(gòu)造方法沒有返回值
D、構(gòu)造方法一定要和類名相同
28、監(jiān)聽事件和處理事件(A)
A、都由Listener完成B、都由相應(yīng)事件Listener處登記過的構(gòu)件完成
C^由Listener和構(gòu)件分別完成D、由Listener和窗口分別完成
29、如果希望所有的控件在界面上均勻排列,應(yīng)使用下列那種布局管理器?(B)
A.BoxLayoutB.GridLayoutC.BorderLayoutD.FlowLouLayout
30、給出如下代有一
ClassTest{
Privateintm;
Publicstaticvoidfun(){
//somecode…
)
)
如何使成員變量m被函數(shù)fun()直接訪問?(C)
A將privateintm改為protectedintm
B將privateintm改為publicintm
C將privateintm改為staticintm
D將privateintm改為intm
31、有個無形式參數(shù)無返回值的方法method書寫方法頭,使得使用類名AB作為
前綴就……法頭的形式為(A)
A.staticvoidmethod。B.publicvoidmethod()
C.finalvoidmethod()D.abstractvoidmethod()
32、編譯JavaApplication源程序文件將產(chǎn)生相應(yīng)的字節(jié)碼文件,這些字節(jié)碼
文件的擴(kuò)展名為(B)
A.javaB.class
C.htmlD.exe
33、如果只要讓類中的成員變量可以被同一包訪問,則使用如下哪個訪問控制
符?(D)
Aprivate;BPublic;CProtected;D不使用訪問控制符
34、以下哪個方法用于定義線程的執(zhí)行體?(C)
Astart();Binit();Crun();Dmain();
35、Java語言具有許多優(yōu)點(diǎn)和特點(diǎn),下列選項中,哪個反映了Java程序并行機(jī)
制(B)A、安全性B、多線程C、跨平臺D、可移植
36、為實現(xiàn)多線程之間的通信,需要使用下列哪種流才合適(D)
AFilterstream;BFilestream
CRandomaccessstream;DPipedInputStream和PipedOutputStream
37、函數(shù)重載是指(A)
A兩個或兩個以上的函數(shù)取相同的函數(shù)名,但形參的個數(shù)或類型不同
B兩個以上的函數(shù)取相同的名字和具有相同的形參個數(shù)和類型
C兩個以上的函數(shù)名字不同,但形參的個數(shù)或類型相同
D兩個以上的函數(shù)取相同的函數(shù)名,并且函數(shù)的返回類型相同
38、構(gòu)造方法何時被調(diào)用(B)
A、類定義時B、創(chuàng)建對象時C、調(diào)用對象方法時D、使用對象的變量時
39、Java中哪個類提供了隨機(jī)訪問文件的功能(A)
A.RandomAccessFile類B.RandomFile類C.File類D.AccessFile
40、當(dāng)方法遇到異常又不知如何處理時,應(yīng)該怎么做(B)
A.捕獲異常B.拋出異常C.聲明異常D.嵌套異常
二、填空題:(10小題,每題1分,共10分)
1、開發(fā)與運(yùn)行Java程序需要經(jīng)過的三個主要步驟為編輯源程序、編譯生成
自節(jié)碼和解釋運(yùn)行字節(jié)。
2、如果一個JavaApplet源程序文件只定義有-一個類,該類的類名為MyApplet,
則類MyApplet必須是Applet類的子類并且存儲該源程序文件的文件名為
MyApplet.java。
3^如果一個JavaApplet程序文件中定義有3個類,則使用Sun公司的JDK
編譯器javac.exe編譯該源程序文件將產(chǎn)生3個文件名與類名相同
而擴(kuò)展名為.class的字節(jié)碼文件。
4、在Java的基本數(shù)據(jù)類型中,char型采用Unicode編碼方案,每個Unicode
碼占用2字節(jié)內(nèi)存空間,這樣,無論是中文字符還是英文字符,都是占用2
字節(jié)內(nèi)存空間。
5、使用數(shù)組時,下標(biāo)表達(dá)式是整型表達(dá)式,下標(biāo)的范圍為至數(shù)組長度減1
6、若x=5,y=10,則x<y和x>=y的邏輯值分別為true和false。
8^創(chuàng)建一個名為MyPackage的包的語句是packageMyPackage;該語
句應(yīng)該放在程序的位置為:應(yīng)該在程序第一句。
9、在Java程序中,通過類的定義只能實現(xiàn)單重繼承,但通過接口的定義
可以實現(xiàn)多重繼承關(guān)系。
10、在文件操作中,publicStringgetNameO功能是得到文件名。
publicStringgetAbsolutePath。功能是返回文件絕對路徑。
1、開發(fā)與運(yùn)行Java程序需要經(jīng)過的三個主要步驟為編輯源程序、
編譯生成字節(jié)碼和解釋運(yùn)行字節(jié)碼。
2、如果一?個JavaApplet源程序文件只定義有一個類,該類的類名為MyApplet,
則類MyApplet必須是Applet類的子類并且存儲該源程序文件
的文件名為MyApplet。
3、如果一個JavaApplet程序文件中定義有3個類,則使用Sun公司的JDK
編譯器javac.exe編譯該源程序文件將產(chǎn)生3個文件
名與類名相同而擴(kuò)展名為.class的字節(jié)碼文件。
4、在Java的基本數(shù)據(jù)類型中,char型采用Unicode編碼方案,每個Unicode
碼占用2字節(jié)內(nèi)存空間,這樣,無論是中文字符還是英文字符,都
是占用2字節(jié)內(nèi)存空間。
5、設(shè)x=2,則表達(dá)式(x++)/3的值是1。
6、若x=5,y=10,則x<y和x〉=y的邏輯值分別為true和
false0
7、抽象(abstract)方法方法是一種僅有方法頭,沒有具體方法體和操
作實現(xiàn)的方法,該方法必須在抽象類之中定義。最終(final)方法方法是不
能被當(dāng)前類的子類重新定義的方法。
8、創(chuàng)建一個名為MyPackage的包的語句是package
MyPackag,
該語句應(yīng)該放在程序的位置為:應(yīng)該在程序第一句O
9、設(shè)有數(shù)組定義:intMylntArrayE]={10,20,30,40,50,60,
70);則執(zhí)行以下幾個語句后的輸出結(jié)果是120。
ints=0;
for(inti=0;i<MylntArray.length;i++)
if(i%2==1)s+=MylntArray[i];
System,out.println(s);
10、在Java程序中,通過類的定義只能實現(xiàn)單一重繼承,但通過接口的
定義可以實現(xiàn)多重繼承關(guān)系。
三、判斷題。
IJava語言是平臺無關(guān)的語言。T
2類的靜態(tài)方法中可以訪問該類的非靜態(tài)數(shù)據(jù)成員.F
3Java中方法調(diào)用時參數(shù)傳遞都是按值傳遞的,因此從方法中退出時,參數(shù)的值
是不會變的。T
4覆蓋方法所拋出的異常不能比原方法更多。T
5Final方法不能被覆蓋。T
6抽象類中一定包含抽象方法。F
7接口中的方法必須是抽象方法。T
8在方法定義中,所以可能發(fā)生的異常都必須用try{}catch。。捕捉。F
9Java支持多重繼承。F
lOFinal修飾的類不能派生子類。T
11覆蓋的同名方法中,子類方法不能比父類方法的訪問權(quán)限更嚴(yán)格。T
12不能在靜態(tài)方法中使用this.T
13抽象類中不能創(chuàng)建對象。T
14一個類可以實現(xiàn)多接口。T
15接口中可以包含非靜態(tài)成員。F
16不論是否捕捉到異常try{}catch(){}final{}語句中finally塊中的代碼總
要被執(zhí)行。T
17一個類實現(xiàn)一個接口,則該類必須實現(xiàn)接口中的所有方法。F
18線程使用sleep方法去休眠后可以使用notify方法喚醒。F
19線程使用sleep方法休眠是會釋放該線程同步鎖定的對象。F
20Final類中的屬性和方法都必須是final的。F
1、Java中的引用變量需要初始化,簡單變量可以不進(jìn)行初始化(x)
2、子類可以繼承父類的除私有成員以外的其它所有成員。(v)
3、Java只支持單繼承,也就是說子類只能有一個直接父類。(v)
4、框架是一個程序的主窗口,它是頂級容器。(v)
5、關(guān)閉框架時,缺省地也會關(guān)閉整個應(yīng)用程序。(x)
6、Java可以設(shè)置程序的界面外觀,即可以讓程序在不同操作系統(tǒng)下按照系統(tǒng)特
有的外觀風(fēng)格顯示,也可以將風(fēng)格統(tǒng)一。(v)
7、中間容器,原子組件,菜單欄,工具欄等都直接放在頂級容器下(x)
8、++op運(yùn)算符的作用是先將變量的值加1再返回變量的值(v)
9、為了不影響程序的正常運(yùn)行,Javadoc命令全部嵌入在注釋語句中,以“/**”
開頭,以“*/”結(jié)尾。(v)
10、標(biāo)簽是最常用的組件,它的作用是在界面上顯示一行文字,標(biāo)簽也可以顯示
圖片"或者即顯示圖片也顯示文字。(v)
1即使一個類中未顯式定義構(gòu)造函數(shù),也會有一個缺省的構(gòu)造函數(shù),缺省的構(gòu)造
函數(shù)是無參函數(shù),函數(shù)體為空。
(對)
2在Java的方法中定義一個常量要用const關(guān)鍵字。
(錯)
3在異常處理中總是將可能產(chǎn)生異常的語句放在try塊中,用catch子句去處理
異常,而且一個try塊之后只能對應(yīng)一個catch語句。
(錯)
4Applet是一種特殊的Panel,它是JavaApplet程序的最外層容器。
(對)
5一個線程對象的具體操作是由run()方法的內(nèi)容確定的,但是Thread類的run()
方法是空的,其中沒有內(nèi)容;所以用戶程序要么派生一個Thread的子類并在子類
里重新定義run。方法,要么使一個類實現(xiàn)Runnable接口并書寫其中run。方法
的方法體。(對)
6Java的字符類型采用的是Unicode編碼,但所占字節(jié)由具體軟硬件環(huán)境決定。
(錯)
7所有的鼠標(biāo)事件都由MouseListener監(jiān)聽接口的監(jiān)聽者來處理。
(錯)
8Java語言中的數(shù)組元素下標(biāo)總是從0開始,下標(biāo)可以是整數(shù)或整型表達(dá)式。
(對)
9如果p是父類Parent的對象,而c是子類Child的對象,則語句p=c是正確
的。(錯)
lOJava程序里,創(chuàng)建新的類對象用關(guān)鍵字new,回收無用的類對象使用關(guān)鍵字
free。(錯)
11由繼承性可知,程序中子類擁有的成員數(shù)目一定大于等于父類擁有的成員數(shù)
目。(錯)
12靜態(tài)初始化器是在其所屬的類加載內(nèi)存時由系統(tǒng)自動調(diào)用執(zhí)行。
(對)
13Applet是一種特殊的Panel,它是JavaApplet程序的最外層容器。
(對)
14注釋的作用是使程序在執(zhí)行時在屏幕上顯示〃之后的內(nèi)容。
(錯)
15在異常處理中,若try中的代碼可能產(chǎn)生多種異常則可以對應(yīng)多個catch語
句,若catch中的參數(shù)類型有父類子類關(guān)系,此時應(yīng)該將父類放在后面,子類放
在前面。(對)
四、簡答
1比較:口與抽象類的共同點(diǎn)和不同點(diǎn).什么情況下應(yīng)采用接口,什么情況下應(yīng)
采用抽象類
答:接口是包含一組虛方法的抽象類型,其中每一種方法都有其名稱、參數(shù)
和返回值。接口方法不能包含任何實現(xiàn),CLR允許接口可以包含事件、屬性、索
引器、靜態(tài)方法、靜態(tài)字段、靜態(tài)構(gòu)造函數(shù)以及常數(shù)。如果創(chuàng)建的功能將在大
范圍的全異對象間使用,則使用接口。
抽象類提供多個派生類共享基類的公共定義,它既可以提供抽象方法,也可
以提供非抽象方法。抽象類不能實例化,必須通過繼承由派生類實現(xiàn)其抽象方法。
相同點(diǎn):都不能被直接實例化,都可以通過繼承實現(xiàn)其抽象方法。都是面向抽
象編程的技術(shù)基礎(chǔ),實現(xiàn)了諸多的設(shè)計模式。
不同點(diǎn):接口支持多繼承;抽象類不能實現(xiàn)多繼承。接口只能定義抽象規(guī)
則;抽象類既可以定義規(guī)則,還可能提供已實現(xiàn)的成員。接口是一組行為規(guī)范;
抽象類是一個不完全的類,著重族的概念。接口可以用于支持回調(diào);抽象類不能
實現(xiàn)回調(diào),因為繼承不支持。接口只包含方法、屬性、索引器、事件的簽名,
但不能定義字段和包含實現(xiàn)的方法;抽象類可以定義字段、屬性、包含有實現(xiàn)的
方法。接口可以作用于值類型和引用類型;抽象類只能作用于引用類型。例如,
Struct就可以繼承接口,而不能繼承類。
2類的加載和構(gòu)造方法的調(diào)用順序
類的加載的順序:先遞歸地加載父類的靜態(tài)成員/代碼塊(object的最先);
再依次加載到本類的靜態(tài)成員。
調(diào)用構(gòu)造方法:先遞歸地調(diào)用父類的構(gòu)造方法;默認(rèn)調(diào)用父類空參的同,也
可在第一行寫明調(diào)用用父類某個帶參的。再依次到本類的構(gòu)造方法;
先初始化父類的靜態(tài)代碼-->初始化子類的靜態(tài)代碼->
=(創(chuàng)建實例時,如果不創(chuàng)建實例,則后面的不執(zhí)行)初始化父類的非靜態(tài)代碼
--->==
==初始化父類構(gòu)造函數(shù)-一》初始化子類非靜態(tài)代碼——>初始化子類構(gòu)造函數(shù)
3什么是重載,什么是覆蓋,有什么區(qū)別和共同點(diǎn)?
答:重載是指在同一個類中定義了多個名字相同而內(nèi)容不同的成員方法;覆
蓋則是指在子類中定義了與父類具有相同名字的成員方法。
重載與覆蓋的區(qū)別在于:重載是存在于同一個類的不同方法之間的多態(tài)關(guān)
系,它們主要通過參數(shù)表中參數(shù)的個數(shù)、參數(shù)的數(shù)據(jù)類型和參數(shù)的順序等方面的
不同來區(qū)分;面覆蓋是存在于父類與子類之間的多態(tài)關(guān)系,它們在引用時通過指
出所屬類的類名來區(qū)分。
五.程序閱讀題
1.寫出以下程序的運(yùn)行結(jié)果。(54321)
publicclassTestArray
{publicstaticvoidmain(Stringargs[]){
inti,j;
inta[]={1,3,2,5,4);
for(i=0;i<a.length-1;i++){
intk=i;
for(j=i;j<a.length;j++)
if(a[j]>a[k])k=j;
inttemp=a[i];
a[i]=a[k];
a[k]=temp;}
for(i=0;i<a.length;i++)
System,out.print(a[i]+〃〃);
System,out.println();}
)
2.寫出以下程序的功能。(在屏幕上輸出test,java文件的內(nèi)容)
importjava.io.
classFileI0Demo(
publicstaticvoidmain(Stringt]args)throwslOException{
intb;
FilelnputStreamfileln=new
FileInputStream("test,java");
while((b=fileln.readO)!=-1){
System,out.print((char)b);}}
)
3.寫出以下程序的運(yùn)行結(jié)果。Str0strlstr2str0str2
importjava.util.
publicclassVec{
publicstaticvoidmain(String[]args){
Stringt]s;
s=newString[2];
s[0]=newString(〃strl〃);
s[l]=newString(,zstr2z/);
Vectorv=newVector();
for(inti=0;i<2;i++)v.addElement(s[i]);
v.insertElementAt(newString(〃str0〃),0);
Enumeratione=v.elements();
while(e.hasMoreElements())
System.out.print(e.nextElement()+〃〃);
System,out.printin();
v.removeElement(^strT');
for(inti=0;i<v.size();i++)
System,out.print(v.elementAt(i)+〃〃);
System.out.printlnO;}
)
4.寫出以下程序的運(yùn)行結(jié)果。int
classOverloadDemo{
voidtestOverload(inti){
System.out.println(“int");}
voidtestOverload(Strings){
System.out.println("String");}
publicstaticvoidmain(Stringargs[]){
OverloadDemoa=newOverloadDemo();
charch='x';
a.testOverload(ch);}
)
5.閱讀以下程序,寫出輸出結(jié)果。inSecondclass
classFirst{
publicFirst(){
aMethodO;}
publicvoidaMethod(){
System,out.printin("inFirstclass");}
)
publicclassSecondextendsFirst{
publicvoidaMethodO{
System,out.println("inSecondclass");}
publicstaticvoidmain(String[]args){
newSecond();}
}
6.寫出以下程序的運(yùn)行結(jié)果。
classStaticTest{
staticintx=l;
inty;
StaticTest()
{y++;}
publicstaticvoidmain(Stringargs[]){
StaticTestst=newStaticTest();
System,out.printinCzx=/,+x);
System,out.println(z,st.y=//+st.y);
st=newStaticTest();
System,out.printin(/?st.y=/z+st.y);}
static{x++;}
)
x=2sty=lsty=l
7.閱讀以下程序:
classExpl
(
publicstaticvoidmain(String[]args)
(
Strings,sl=〃〃;
charc;
s=args[0];
for(inti=0;i<s.length();i++)
{c=s.charAt(i);
if(c>=,a&&c<=,z'){
sl=sl+Character.toUpperCase(c);
}else{
sl=sl+Character.toLowerCase(c);)
)
System,out.printin(si);
)
)
若在dos命令行輸入:javaExplcHINA,則輸出為JAVAeXPlChina。
8.閱讀以下程序:
importjava.io.publicclassAboutFile{
publicstaticvoidmain(String[]args){
BufferedReaderb=newBufferedReader(new
InputStreamReader(System,in));
Strings;
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 22924-2024復(fù)合肥料中縮二脲含量的測定
- 石油天然氣工程內(nèi)部承包協(xié)議示范文本
- 商業(yè)合作合同樣本
- 廠房租賃合同的樣式參考
- 汽車質(zhì)押擔(dān)保借款合同書
- 旅游產(chǎn)品銷售代理協(xié)議
- 香港與境外股市投資服務(wù)協(xié)議書
- 共同研發(fā)軟件合同書樣本
- 2024年設(shè)備借條范本正規(guī)
- 2022年學(xué)校意識形態(tài)自查報告6篇
- 2024-2025學(xué)年七年級上學(xué)期數(shù)學(xué)期中模擬試卷(蘇科版2024)(含答案解析)
- 軍事理論(2024年版)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 海爾智家財務(wù)報表分析報告
- 2024年急性胰腺炎急診診治專家共識解讀課件
- 2024年連南瑤族自治縣綠連林業(yè)發(fā)展有限公司招聘筆試參考題庫附帶答案詳解
- HSE培訓(xùn)矩陣(共79張)
- 民辦幼兒園成本核算表
- 第八章_噪聲控制技術(shù)——隔聲
- 國旗下校長關(guān)于誠信考試的講話稿
- 急性胰腺炎ppt課件
- 廣告設(shè)計制作框架合同協(xié)議書范本詳細(xì)版
評論
0/150
提交評論