OOP期中考試試卷及答案_第1頁
OOP期中考試試卷及答案_第2頁
OOP期中考試試卷及答案_第3頁
OOP期中考試試卷及答案_第4頁
OOP期中考試試卷及答案_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2006年5月9日一、單選題:1.下面哪些是short類型的取值范圍?A.-27--2-17B.0--2-1C.1615----2-115D.-2312-131答案C解讀:短整型的數(shù)據(jù)類型的長度是16bits,有符號。另外需要說明的是java中所有的整(Integral)數(shù)(包括byte,short,int,long)全是有符號的。2.下列代碼哪一行會出錯:{1)publicintvoidmodify()2)I,j,k。。{3)I=10004)while(I>)5)j==I*2。。。。}6)System.out.printlnk("Thevalueofjis"+j)7)k+18)I--9)10)}A.line4B.line6C.line7D.line8答案C3.哪些語句是將一個八進(jìn)制值賦值給一個long型變量?A.B.C.longlonglongnumbernumbernumber==345L。。。0345=0345LD.longnumber=0x345L。答案C解讀:八進(jìn)制數(shù)以0開頭,十六進(jìn)制數(shù)以0x開頭,long型數(shù)以(大小寫均可,一般使用大寫,因為小寫的l和數(shù)字1不易區(qū)分)。4.publicclassPerson{staticintarr[]=newint[10]。publicstaticvoidmain(Stringa[]){System.out.println(arr[1])。1/8}}A.編譯時將產(chǎn)生錯誤B.編譯時正確,運行時將產(chǎn)生錯誤C.輸出零D.輸出空答案C5.paint()方法使用哪種類型的參數(shù)?A.GraphicsB.Graphics2DC.StringD.Color答案A6.A.程序開發(fā)者必須自己創(chuàng)建一個線程進(jìn)行內(nèi)存釋放的工作。B.。關(guān)于垃圾收集的哪些敘述是對的?垃圾收集將檢查并釋放不再使用的內(nèi)存C.垃圾收集允許程序開發(fā)者明確指定并立即釋放該內(nèi)存。D.垃圾收集能夠在給定的時間釋放被java對象使用的內(nèi)存。答案B解讀:Java語言將內(nèi)存分配和釋放的工組交給了自己,程序員不必做這些工作,它提供一個系統(tǒng)級的線程跟蹤每個內(nèi)存的分配,在JVM的空閑處理中,垃圾收集線程將檢查和釋放不再使用的內(nèi)存(即可以被釋放的內(nèi)存)。垃圾收集的過程在java程序的生存期中是自動的,不需要分配和釋放內(nèi)存,也避免了內(nèi)存泄漏。可以調(diào)用System.gc()方法建議(suggest)JVM執(zhí)行垃圾收集以使得可被釋放的內(nèi)存能立即被使用,當(dāng)此方法返回的時候,JVM已經(jīng)做了最大的努力從被丟棄的對象上回收內(nèi)存空間。程序員不能指定收集哪些內(nèi)存,一般而言也不用關(guān)心這個問題,除非是程序的內(nèi)存消耗很大,特別是有很多臨時對象時可以建議進(jìn)行垃圾收集以提高可用內(nèi)存。需要指出的是調(diào)用System.gc()方法不能保證JVM立即進(jìn)行垃圾收集,而只能是建議,因為垃圾收集線程的優(yōu)先級很低(通常是最低的)。7.給出下面的代碼:}if(x>0)if{System.out.println("first")。elseelsex(x>-3){System.out.println("second")。}{System.out.println("third")。}的取值在什么范圍內(nèi)時將打印字符串"second"。0A.B.C.D.x>x>-3-3-3x<=x<=0&x>答案D解讀:x>0時打印"first",x>-3&&x<=0時打印"second",x<=-3時打印"third"。這個題目沒有什么難的,只要理解if語句的語法就可以了。8.給定如下代碼段:1)classPerson{2/82)publicvoidprintValue(inti,intj){/*…*/i){/*...*/}3)publicvoidprintValue(int}4)}5)publicclassTeacherextendsPerson{/*...*/i)main(StringTeacher(){6)publicpublicpublicvoidvoidstaticprintValue()}7)printValue(intvoid{/*...*/}8)args[]){9)Persont=new。。}10)11)12)t.printValue(10)}第十行的語句將調(diào)用哪些方法?2367A.onlinelinelinelineB.onononC.D.答案D解讀:變量t是一個Person對象,但是它是用Teacher實例化的,這個問題涉及到j(luò)ava的編譯時多態(tài)和運行時多態(tài)的問題,就編譯時多態(tài)來說,t實際上是一個Person類,這涉及到類型的自動轉(zhuǎn)換(將一個子類的實例賦值給一個父類的變量是不用進(jìn)行強(qiáng)制類型轉(zhuǎn)換,反之則需要進(jìn)行強(qiáng)制類型轉(zhuǎn)換,而且被賦值的變量實際上應(yīng)該是一個子類的對象),如果對t調(diào)用了子類中新增的方法則造成編譯時錯誤編譯將不能通過,而在運行時,運行時系統(tǒng)將根據(jù)t實際指向的類型調(diào)用對應(yīng)的方法,對于本例來說,t.print(10)將調(diào)用t實際指向的Teacher類的對應(yīng)方法。在java中,可以用一個子類的實例實例化父類的一個變量,而變量在編譯時是一個父類實例,在運行時可能是一個子類實例。9.作為程序入口的main()方法的返回類型是什么?intA.B.C.D.voidbooleanstatic答案B解讀:在java中,程序運行的入口就是方法,它必須是這樣的形式:publicstaticvoidmain(Stringargs[])。但是嚴(yán)格來講這個題目的答案還可以加上a和,因為并沒有限定是程序入口的方法,而方法是可以重載的。一般意義上的當(dāng)然就是指我們剛開始所說的方法了。10.A.B.C.D.int的取值范圍是哪個?-27----2-1702-132-215-231----2-1152-1313/8答案D解讀:int型是32位的。參看第一題的論述。二、多選題:11.A.B.C.D.下面哪些不是java的基本數(shù)據(jù)類型。shortBooleanunitfloat答案B,C解讀:Java的原始數(shù)據(jù)類型一共就八個,分別是:byte,short,int,long,boolean,char,float,double。注意這些是大小寫敏感的,而Boolean是booelan的封裝類(wrapperclass)。12.A下面關(guān)于繼承個的只哪些敘述是正確的?。。.在java中允只許單一繼承B.在java中一類能實現(xiàn)一個接口C.在java中一個類不能同時繼承一個類和實現(xiàn)一個接口。D.java的單一繼承使代碼更可靠。答案A,D解讀:在java中一個類只能有一個直接父類,但是可以實現(xiàn)多個接口,在繼承的同時可以實現(xiàn)接口,之所以取消多繼承的原因是多繼承使得代碼產(chǎn)生很多問題,而使用單一繼承則可以使代碼更可靠。13.A.B.C.D.E.下列哪些不是Java關(guān)鍵字?TRUEsizeofconstsupervoid答案A,B解讀:A:不是,Java中有true,但是這也不是關(guān)鍵字而是字面量(literal)。B:不是,Java中不需要這個操作符,所有的類型(原始類型)的大小都是固定的。C、D、E都是,需要說明的是const是java中未被使用的關(guān)鍵字。14.A.intif下列哪些代碼段不會出現(xiàn)編譯錯誤?i=0(i)。{System.out.println(“Hi”)。}4/8B.booleanb=true。。{booleanb2=trueif(b==b2)System.out.println(“Sotrue”)。}C.inti=1j=2。。intif(i==1||j==2)。System.out.println(“OK”)D.inti=1j=2。。intif(i==1&|j==2)System.out.println(“OK”)。答案B,C解讀:選項A錯,因為if語句后需要一個boolean類型的表達(dá)式。邏輯操作有、、|和&&、但是“&|”是非法的,所以選項D不正確。15.下列哪兩個選項體現(xiàn)了組合(”hasa”)關(guān)系?}}}}}}}}}A.publicinterfaceEmployeeinterfacePersonextendsShape{publicB.classPerson{{publicpublicC.interfacepublicclassRectandleinterfaceextendsColorableShape{{{publicD.ShapeimplementsclassColorablepublicSpecies{speciesComponent{implementspublicE.classAnimal{privateSerfaceContainerComponent[]classprivate}Component{children。答案D,E解讀:在Java中代碼重用有兩種可能的方式,即組合(“has關(guān)系)和繼承(“is關(guān)系)。“has關(guān)系是通過定義類的屬性的方式實現(xiàn)的;而“isa”關(guān)系是通過類繼承實現(xiàn)的。本例中選項、B、C體現(xiàn)了“isa”關(guān)系;選項D、E體現(xiàn)了“hasa”關(guān)系。16.在//pointx處的哪些語句在語法上合法的?{classprivatepublic}Personinta。}intchange(intm){returnm。publicclassTeacherextendsPerson{5/8publicpublicPersonTeacherintintb。arg[]){。staticvoidmain(Stringp==newnewPerson()Teacher()t。i。//pointx}}A.ii=m。B.==bp.a。。C.iD.i=p.change(30)。E.i=t.b.答案D,E解讀明:。A:m沒有被申過,不能使用B:雖然b是類Teacher的public成員變量,但是在靜態(tài)方法中不能使用類中的非靜態(tài)成員。C:a是類Personprivate成員,在類外不能直接引用。:change(int方法是public方法,并且返回一個int型值,可以通過類的實例變量p引用并賦值給一個int。的型變量E:b是類Teacher的public成員變量,且是int型,可以通過類的實例變量t引用并賦值給一個int型變量。17.下面的哪些程序片斷可能導(dǎo)致錯誤?。。。A.Strings="Gonewiththewind"StringStringt="good"tk=st+B.StringStrings=="Gonewithwiththethewind"wind"。。。Stringt=s[3]+"one"C.s"Gone=。。Stringstandards.toUpperCase()D.Stringts=s"home-directory"。。String="directory"答案B,D解讀:A:String類型可以直接使用+進(jìn)行連接運算。B:String是一種Object,而不是簡單的字符數(shù)組,不能使用下標(biāo)運算符取其值的某個元素,錯誤。C:toUpperCase()方法是String對象的一個方法,作用是將字符串的內(nèi)容全部轉(zhuǎn)換為大寫并返回轉(zhuǎn)換后的6/8結(jié)果(String類型運)。。D:String類型不能進(jìn)行減(-)算,錯誤18.A.B.C.D.E.下面哪些是合法的標(biāo)識符?$personsTwoUsers*pointthis_endline答案A,B,E解讀:Java的標(biāo)識符可以以一個Unicode字符,下滑線(_$)開始,后續(xù)字符可以是前面的符號和數(shù)字,沒有長度限制,大小寫敏感,不能是保留字。19.執(zhí)行代碼String[]s=new后,哪個結(jié)論是正確的?A.s[10]為""B.s[9]為null。C.s[0]為未定義D.s.length為10答案B,D20.下面的表達(dá)式哪個是正確的?A.String你好。inti=3。。B.String你好。inti=3。if(i==s){。C.String你好。inti=3。s=i+s。D.String你好。inti=3。。E.Strings=i=(s!=null)&&(s.length()>0)?s.length():0。答案A,C,E三、判斷題:1.在具有繼承關(guān)系的兩個類中,子類繼承父類的所有方法。正確錯誤答案錯誤2.抽象類中可以有非抽象方法。正確錯誤答案正確3.2.接口()中可以有非抽象方法。正確錯誤答案錯誤4.在具有繼承關(guān)系的兩個類中,父類的引用可以指代子類對象

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論