第 1 頁:試題 |
第 5 頁:參考答案 |
21.A!窘馕觥砍绦蚴怯蒳f-else語句構(gòu)成的流程,分析判斷條件,變量i和j比較,得到條件表達式的值為true,然后執(zhí)行i-1,現(xiàn)在變量i的值為12,而j的值為10;由于條件表達式為true,則執(zhí)行i++,因此i的值為13,并跳過else子句塊,循環(huán)控制語句執(zhí)行完畢,這時變量i和i的值分別為13和10。
22.C。【解析】此題考查的是do-while循環(huán)和“--”操作符的知識。do-while最少執(zhí)行一次,在執(zhí)行完d0中的內(nèi)容后,判斷while中的條件是否為true。如果為true,就再執(zhí)行do中的內(nèi)容,然后進行判斷。以此類推,直到while的判斷為false時退出循環(huán),執(zhí)行循環(huán)后面的內(nèi)容。而“--”操作符的規(guī)則是,變量右邊的“-”將先進行運算,然后才使
變量的值減一。而在變量左邊的“--”,則先將變量的值減1再運算。本程序中i的值為10,當程序運行到do-while循環(huán)時,程序先執(zhí)行一次循環(huán),然后判斷,因此選C。
23.C。【解析】此題是典型的考題。題中X=0,則!x永遠為真,對于條件表達式!x&&y<=5只考慮y<=5,由于每次循環(huán)Y都增加1,而且y從0開始到5。所以可知總共循環(huán)了6次。
24.D!窘馕觥慨惓J窃诔绦蚓幾g或者運行時所發(fā)生的可預(yù)料或者不可預(yù)料的異常事件,它會引起程序的中斷,影響程序的正常運行。
25.B。【解析】線程為一個程序中的單個執(zhí)行流;進程是程序的一次動態(tài)執(zhí)行過程,它對應(yīng)了從代碼加載、執(zhí)行到執(zhí)行完畢的一個完整過程,這個過程也是進程本身從產(chǎn)生、發(fā)展到消亡的過程。一個JavaApplication運行后,在系統(tǒng)中應(yīng)該就是一個進程了(動態(tài))。
26.A!窘馕觥縏hread類的其他方法有setName()、getName()、activeCount()和setDaemon()等。其中,用于修改線程名字的方法是setName()。
27.C!窘馕觥烤程組是由java.lang包中的ThreadGroup類實現(xiàn)的。在創(chuàng)建線程時可以顯式地指定線程組,此時需要從如下三種線程構(gòu)造方法中選擇一種:
public Thread(ThreadGroup group,Runnable target);
public Thread(ThreadGroup group,String name);
public Thread(ThreadGroup group,Runnable target,
String name)。
28.A!窘馕觥縅ava語言中一個類只有實現(xiàn)Serializable接口,它的對象才是可串行化的。
29.A!窘馕觥勘绢}主要考查集合類的特點。選項A正確,集合類是用來存放某類對象的。集合類有一個共同特點,就是它們只容納對象。如果集合類中想使用簡單數(shù)據(jù)類型,又想利用集合類的靈活性,可以把簡單數(shù)據(jù)類型變成該數(shù)據(jù)類型類的對象,然后放入集合中處理,這表示集合類不能容納基本數(shù)據(jù)類型,所以IV是不正確的選項B錯誤,集合只容納對象;選項C錯誤,該選項少選了Ⅱ;選項D錯誤,錯誤原因同選項B。
30.C!窘馕觥勘绢}考查對Java組件容器中添加容器的基本知識。選項A錯誤,Panel組件是容器,可以添加到Frame窗口;選項B錯誤,CheekBox組件是復(fù)選框組件,可以添加到Frame窗口;選項C正確,Dialog繼承自Windows類,Windows類型(或子類)的對象不能包含在其他容器中;選項D錯誤,Choice組件是選擇框組件,可以添加到Frame窗口。
31.C!窘馕觥勘绢}考查在Java中靜態(tài)變量(類變量)的用法。在題目程序段中生成了一個static int y=6類變量,在ClassA中調(diào)用的b.go(10),只不過是在ClassB中的一個局部變量,通過調(diào)用ClassB中的90方法可以生成一個ClassA對象,并給這個新生成的對象賦以ClassA中的類變量Y的值。從main()方法作為入口執(zhí)行程序,首先生成一個ClassB的對象,然后b.go(10)會調(diào)用ClassA,會給X和Y賦值,X=a.Y后,X值為6,再返回去執(zhí)行System.out.println("x="+b.x)語句,輸出為x=6,可見,正確答案為選項C。
32.B!窘馕觥勘绢}考查構(gòu)造方法及構(gòu)造方法重載。Test類有兩個構(gòu)造方法,即使用了方法重載技術(shù)。不帶參數(shù)的構(gòu)造方法對類的實例變量進行特定數(shù)值的賦值,而帶參數(shù)的構(gòu)造方法根據(jù)參數(shù)對類的實例變量進行賦值。 TestObjl=newTest(12,45)語句調(diào)用的是Test(intx,inty),而TestObj2=newTest()調(diào)用的是Test(),注意根據(jù)參數(shù)個數(shù)來區(qū)分。
33.A!窘馕觥勘绢}考查考生對Java中的匹配器(Mateher)類的理解。Matcher類用于將一個輸入字符串input和模式串pattern相比較。Boolean mateher.find()方法用于尋找下一個模式匹配串;int matcher.start()方法用于返回匹配串的一個起始索引整數(shù)值;int matcher.end()方法用于返回匹配串的一個終止索引整數(shù)值。而用于輸入字符串與模式串比較的方法是static boolean matches(),選項A正確。
34.A。【解析】本題考查對象加鎖的相關(guān)概念。對于對象加鎖的使用有些注意事項。對象的鎖在某些情況下可以由持有線程返回,比如當synchronized語句塊執(zhí)行完成后;當在synchronized語句塊中出現(xiàn)異常;當持有鎖的線程調(diào)用該對象的wait()方法,由此可見選項D說法錯誤。共享數(shù)據(jù)的所有訪問都必須作為臨界區(qū),使用synchronized進行加鎖控制,選項A說法正確。用synchronized保護的共享數(shù)據(jù)必須是私有的,選項B說法錯誤。Java中對象加鎖具有可重入性,選項C錯誤。
35.C!窘馕觥勘绢}考查對Java常用的各種包所包含的一些類的基本功能的理解。java.awt包是抽象窗口工具包,里面包括各種容器、組件、窗口布局管理器以及一些常用的類如Color、Font等,選項A滿足題意。而java.applet包里面包括了小程序執(zhí)行時必須要重載的一個類Applet,也就只有這一個類,選項D錯誤。java.io包主要是提供一些輸入/輸出類的,選項B不滿足題意。java.awt.event包就包含了一些能夠?qū)κ录龀鲰憫?yīng)和處理的一些標準類,選項A不滿足題意。
36.C。【解析】設(shè)隊列容量為m,rear>front,則隊列中元素個數(shù)為rear-front:rear37.C!窘馕觥勘绢}考查包的導(dǎo)入和使用。首先用package語句說明一個包,該包的層次結(jié)構(gòu)必須與文件目錄的層次相同,否則,在編譯時可能出現(xiàn)找不到包的問題。Java語言中java.lang包是編譯器自動導(dǎo)入,其他包中的類必須用import導(dǎo)入。
38.A!窘馕觥勘绢}考查Java中數(shù)組的定義和初始化。在該方法里定義并動態(tài)初始化了一個整型數(shù)組anar,由于沒有賦初值,系統(tǒng)默認的初始值是數(shù)組中的每個元素都為零。所以輸出數(shù)組中的第一個元素anar[0]時,自然也是等于零。
39.B!窘馕觥勘绢}考查線程阻塞的概念。yield()方法使得線程放棄當前分得的CPU時間,但是不使線程阻塞,印線程仍處于可執(zhí)行狀態(tài),隨時可能再次分得CPU時間。調(diào)用yield()的效果等價于調(diào)度程序認為該線程已執(zhí)行了足夠的時間從而轉(zhuǎn)到另一個線程。
40.D!窘馕觥勘绢}考查do-while循環(huán)的用法。題目中沒有給出累加次數(shù),故不能使用for循環(huán),在do循環(huán)中,由累加項term的值作為退出循環(huán)的條件。根據(jù)題目要求,應(yīng)該填寫2*n+1。本題的關(guān)鍵是while(term>=0.00001)語句,題目要求計算直至1/(2N+1)小于0.00001, 所以term l/(2N+1),因此n=2*n+1。
編輯推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |