《《Java語(yǔ)言》練習(xí)題》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《《Java語(yǔ)言》練習(xí)題(5頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、《Java語(yǔ)言》練習(xí)題
2004年10月28日
一、選擇題:
1. Java源程序經(jīng)編譯生成的字節(jié)碼文件的擴(kuò)展名為 ,字節(jié)碼文件由解釋器執(zhí)行。(A)
A. class B. java C. exe D. html
2. 以下定義一維數(shù)組的語(yǔ)句中,正確的是: (D)
A. int a[5]
B. int a[]=new [5];
C. int a[];
int a=new int[5];
D. int a[]={1,2,3,4,5};
3. 假定一個(gè)類(lèi)的構(gòu)造方法為 “ A(int
2、aa, int bb) { a=aa; b=aa*bb; } ”,則執(zhí)行“ A x = new A(4,5); ” 語(yǔ)句后,x.a 和x.b的值分別是: 。(C)
A. 4 和5 B. 5和4 C .4和20 D. 20和5
4. 對(duì)于任意一個(gè)類(lèi),用戶(hù)所能定義的構(gòu)造方法的個(gè)數(shù)至多為 。(D)
A.0個(gè) B.1個(gè) C.2個(gè) D.任意個(gè)
5. 假設(shè)類(lèi)A有構(gòu)造方法A(int a),則在類(lèi)A的其他構(gòu)造方法中調(diào)用該構(gòu)造方法的語(yǔ)句格式應(yīng)為 (C)
A. A(x)
3、
B. this. A(x)
C. this(x)
D. super(x)
6.關(guān)于實(shí)例方法和類(lèi)方法,以下描述正確的是: (D)
A. 實(shí)例方法只能訪(fǎng)問(wèn)實(shí)例變量
B. 類(lèi)方法既可以訪(fǎng)問(wèn)類(lèi)變量,也可以訪(fǎng)問(wèn)實(shí)例變量
C. 類(lèi)方法只能通過(guò)類(lèi)名來(lái)調(diào)用
D. 實(shí)例方法只能通過(guò)對(duì)象來(lái)調(diào)用
7.接口是Java面向?qū)ο蟮膶?shí)現(xiàn)機(jī)制之一,以下說(shuō)法正確的是: (B)
A. Java支持多重繼承,一個(gè)類(lèi)可以實(shí)現(xiàn)多個(gè)接口;
B. Java只支持單重繼承,一個(gè)類(lèi)可以實(shí)現(xiàn)多個(gè)接口;
C. Java只支
4、持單重繼承,一個(gè)類(lèi)只可以實(shí)現(xiàn)一個(gè)接口;
D. Java支持多重繼承,但一個(gè)類(lèi)只可以實(shí)現(xiàn)一個(gè)接口。
8. 關(guān)于接口的定義和實(shí)現(xiàn),以下描述正確的是: (A)
A. 接口定義中的方法都只有定義沒(méi)有實(shí)現(xiàn)
B. 接口定義中的變量都必須寫(xiě)明final和static
C. 如果一個(gè)接口由多個(gè)類(lèi)來(lái)實(shí)現(xiàn),則這些類(lèi)在實(shí)現(xiàn)該接口中的方法時(shí)應(yīng)采用統(tǒng)一的代碼
D. 如果一個(gè)類(lèi)實(shí)現(xiàn)一個(gè)接口,則必須實(shí)現(xiàn)該接口中的所有方法,但方法未必聲明為public.
9. 在 Java的異常處理語(yǔ)句try-catch-final 中,以下描述正確的是: (B)
A. try后面是可能
5、產(chǎn)生異常的代碼,catch后面是捕獲到某種異常對(duì)象時(shí)進(jìn)行處理的代碼,final后面是沒(méi)有捕獲到異常時(shí)要執(zhí)行的代碼
B. try后面是可能產(chǎn)生異常的代碼,catch后面是捕獲到某種異常對(duì)象時(shí)進(jìn)行處理的代碼,final后面是無(wú)論是否捕獲到異常都必須執(zhí)行的代碼
C. catch 語(yǔ)句和final語(yǔ)句都可以缺省
D. catch 語(yǔ)句用來(lái)處理程序運(yùn)行時(shí)的非致命性錯(cuò)誤,而final語(yǔ)句用來(lái)處理程序運(yùn)行時(shí)的致命性錯(cuò)誤
.
10.如果一個(gè)程序段中有多個(gè)catch,則程序會(huì)按如下哪種情況執(zhí)行?C
找到適合的例外類(lèi)型后繼續(xù)執(zhí)行后面的catch.
找到每個(gè)符合條件的catch都執(zhí)行一次。
找到適合
6、的例外類(lèi)型后就不再執(zhí)行后面的catch。
對(duì)每個(gè)catch都執(zhí)行一次。
11.以下Java布局管理器中,java.applet.Applet容器類(lèi)的默認(rèn)布局管理器是 。(B)
A. BorderLayout B. FlowLayout C. GridLayout D. CardLayout
12.在A(yíng)pplet應(yīng)用程序的生命周期中,以下說(shuō)法正確的是: (C)
A. 當(dāng)打開(kāi)瀏覽器窗口時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用start方法,在A(yíng)pplet應(yīng)用程序的生命周期中,start方法可執(zhí)行多次;
B. 當(dāng)激活瀏覽器窗口
7、時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用start方法,在A(yíng)pplet應(yīng)用程序的生命周期中,start方法只可執(zhí)行一次;
C. 當(dāng)打開(kāi)瀏覽器窗口時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用init方法,在A(yíng)pplet應(yīng)用程序的生命周期中,init方法只可執(zhí)行一次;
D. 當(dāng)激活瀏覽器窗口時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用init方法,在A(yíng)pplet應(yīng)用程序的生命周期中,init方法可執(zhí)行多次。
13.如果重寫(xiě)了Applet的paint方法,在以下何種情況中,AWT線(xiàn)程會(huì)自動(dòng)調(diào)用paint方法繪圖。 (D)
A. 當(dāng)瀏覽器運(yùn)行時(shí)
B. 當(dāng)Applet 內(nèi)容被覆蓋后又重新顯示時(shí)
C.
8、在執(zhí)行repaint方法重新繪圖時(shí)
D. 包括以上三種情況
14.為了防止Java Applet程序中含有惡意代碼而對(duì)客戶(hù)端造成損害,以下行為哪一種不屬于瀏覽器禁止的行為。(A)
A. 禁止訪(fǎng)問(wèn)Applet程序所在服務(wù)器的資源
B. 禁止讀寫(xiě)本地計(jì)算機(jī)的文件系統(tǒng)
C. 禁止運(yùn)行本地計(jì)算機(jī)的可執(zhí)行程序
D. 禁止訪(fǎng)問(wèn)與本地計(jì)算機(jī)有關(guān)的信息,如用戶(hù)名、郵件地址等
22下列關(guān)于繼承的說(shuō)法哪個(gè)是正確的?B
A.子類(lèi)只繼承父類(lèi)public方法和屬性;
B.子類(lèi)繼承父類(lèi)的非私有屬性和方法;
9、 C.子類(lèi)只繼承父類(lèi)的方法,而不繼承父類(lèi)的屬性;’
D.子類(lèi)將繼承父類(lèi)的所有的屬性和方法。
23下面哪個(gè)是JAVA的保留字? B
run
import
implement
string
24.下列關(guān)于抽象類(lèi)的說(shuō)法四個(gè)是正確的?C
A.某個(gè)抽象類(lèi)的父類(lèi)是抽象類(lèi),則達(dá)個(gè)子類(lèi)必須里載父類(lèi)的所有抽象方法;
B.接口和抽象類(lèi)是同一回事;
C.絕對(duì)不能用抽象類(lèi)去創(chuàng)建對(duì)象;
D.抽象類(lèi)中不可以有非抽象方法。
25.下列說(shuō)法哪個(gè)是正確的? B
A.創(chuàng)建對(duì)象y一定要用new ;
B.屬性可以是簡(jiǎn)單變量,也可以是一個(gè)對(duì)象;
10、 C.屬性必須是簡(jiǎn)單變量;
D.對(duì)象中必有屬性和方法。
二、操作題
1、閱讀并理解Greetings.java,編寫(xiě)完成同樣功能但在瀏覽器中運(yùn)行的Applet應(yīng)用程序GreetingsApplet.java和頁(yè)面文件Greetings.htm。
2、閱讀并理解FontTest.java和FontTest.htm,修改FontTest.java,使之能為不同的HTML頁(yè)面顯示不同的文字,同時(shí)編寫(xiě)利用FontTest.java顯示“Welcome to Shanghai!”的頁(yè)面文件Font1.htm,編寫(xiě)利用FontTest.java顯示“I Like Java!”的頁(yè)面文件
11、Font2.htm。
3、Test3.java的功能是在Web頁(yè)面中顯示問(wèn)候信息(Hello,World!),修改程序,使之顯示粗體文字,字號(hào)為15,字體:Arial Black。
4.Test4.java的功能是在Web頁(yè)面中顯示“歡迎您訪(fǎng)問(wèn)本網(wǎng)站!”,修改程序,使顯示文字顏色為綠色。
注:green的RGB函數(shù)參數(shù)為(0,255,0)。
5、Applet程序markTest計(jì)算一個(gè)學(xué)生的總成績(jī)和平均成績(jī),顯示效果如圖。要求:①完成程序中的空白部分,使程序達(dá)到預(yù)定功能;②將全部TextField設(shè)置為不可修改。
6、Test6.java的功能是選擇不同的顯示內(nèi)
12、容,按下列要求修改程序:
①將復(fù)選框改為單選按鈕。
②使單擊單選按鈕后得到響應(yīng)。
7.修改Test7.java程序,當(dāng)選中applet中復(fù)選框時(shí)顯示“我喜歡IBM筆記本!”,不選中時(shí)顯示“我不喜歡IBM筆記本!”。
注:Applet中輸出的文本信息起始坐標(biāo)為(100,120)
8、A.java的功能:顯示0.jpg圖片,并將輸出寬度縮小100,補(bǔ)充程序完成此功能。
9、Account.java文件中定義了一個(gè)銀行帳戶(hù)類(lèi)Account,其中包括了帳戶(hù)名屬性accountName、存款余額屬性amount、存款方法deposit(double mone
13、y)。閱讀并理解這個(gè)類(lèi),并為其增加一個(gè)“取款”方法withdraw():當(dāng)存款余額大于取款金額時(shí),執(zhí)行取款修改余額;當(dāng)存款余額小于取款金額時(shí),不執(zhí)行取款;以返回值0表示取款成功,返回值1表示取款不成功。
10. StudentClass.java文件中已有學(xué)生類(lèi)Student,包含屬性有姓名name和年齡age。由學(xué)生類(lèi)派生出本科生類(lèi)Undergraduate和研究生類(lèi)Graduate,本科生類(lèi)包含的屬性有專(zhuān)業(yè)specialty,研究生類(lèi)包含的屬性有研究方向studydirection.每個(gè)類(lèi)都有相關(guān)數(shù)據(jù)的輸出方法。請(qǐng)將程序填寫(xiě)完整使本程序運(yùn)行結(jié)果如下:
11.Test11.java程序定義了一個(gè)學(xué)生的類(lèi)Student,包括成員變量“學(xué)號(hào)”、“班號(hào)”、“姓名”、“性別”、“年齡”,成員方法:“獲得學(xué)號(hào)”、“獲得班號(hào)”、“獲得性別”、“獲得姓名”、“獲得年齡”。請(qǐng)為Student類(lèi)定義構(gòu)造函數(shù)初始化所有的成員變量。增加一個(gè)方法“修改年齡”。
boolean setStudentAge(int newAge)。新年齡如果在1至100歲的話(huà),將原來(lái)年齡修改為新年齡,并返回修改成功true的信息。如果超出范圍,顯示“非法學(xué)生年齡”,并返回false的信息。運(yùn)行后顯示結(jié)果如下: