版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、新員工考試一、選擇題(共30題,每題2分)1. 下面哪些是合法的標識符?(多選題)A. $personsB. TwoUsersC. *pointD. thisE. _endline答案A,B,E分析Java的標識符可以以一個Unicode字符,下滑線(_),美元符($)開始,后續(xù)字符可以是前面的符號和數字,沒有長度限制,大小寫敏感,不能是保留字(this保留字)。2. 哪些是將一個十六進制值賦值給一個long型變量?(單選題)A. longnumber=345L;B. longnumber=0345;C. longnumber=0345L;D. longnumber=0x345L答案D分析十六
2、進制數以0x開頭,long型數以L(大小寫均可,一般使用大寫,因為小寫的l和數字1不易區(qū)分)。3. 下面的哪些程序片斷可能導致錯誤?(多選題)A. Strings="Gonewiththewind"Stringt="good"Stringk=s+t;B. Strings="Gonewiththewind"Stringt;t=s3+"one"C. Strings="Gonewiththewind"Stringstandard=s.toUpperCase();D. Strings="hom
3、edirectory"Stringt=s-"directory"答案B,D分析A:String類型可以直接使用+進行連接運算。B:String是一種Object,而不是簡單的字符數組,不能使用下標運算符取其值的某個元素,錯誤。C:toUpperCase()方法是String對象的一個方法,作用是將字符串的內容全部轉換為大寫并返回轉換后的結果(String類型)D:String類型不能進行減(-)運算,錯誤。4. pointx處的哪些聲明是句法上合法的?(多選題)classPersonprivateinta;publicintchange(intm)returnm;
4、publicclassTeacherextendsPersonpublicintb;publicstaticvoidmain(Stringarg)Personp=newPerson();Teachert=newTeacher();inti;/pointxA. i=m;B. i=b;C. i=p.a;D. i=p.change(30);E. i=t.b.答案D,E分析A:m沒有被聲明過,不能使用。B:雖然b是類Teacher的public成員變量,但是在靜態(tài)方法中不能使用類中的非靜態(tài)成員。C:a是類Person的private成員,在類外不能直接引用。D:change(intm)方法是publi
5、c方法,并且返回一個int型值,可以通過類的實例變量p引用并賦值給一個int型變量。E:b是類Teacher的public成員變量,且是int型,可以通過類的實例變量t引用并賦值給一個int型變量。5. 下面的代碼片斷(多選題):1) publicvoidcreate()2) VectormyVect;3) myVect=newVector();4) 下面的哪些陳述正確?A.第二行的聲明不會為變量myVect分配內存空間。8) 第二行的聲明分配一個到Vector對象的引用的內存空間。9) 第二行語句創(chuàng)建一個Vector類對象。10) 第三行語句創(chuàng)建一個Vector類對象。11) 第三行語句為一
6、個Vector類對象分配內存空間。答案A,D,E分析要為一個新對象分配空間必須執(zhí)行newXxx()調用,new調用執(zhí)行以下的操作:1為新對象分配空間并將其成員初始化為0或者null。2執(zhí)行類體中的初始化。(例如在類中有一個成員聲明inta=10;在第a=0,執(zhí)行到第二步后a=10)3執(zhí)行構造函數。4變量被分配為一個到內存堆中的新對象的引用。6. 下面的哪些答案可以用以表示八進制值8?(單選題)A. 010B. 0x10C. 08D. 0x8答案A分析八進制值以0開頭,以0x開頭的為十六進制值,八進制中不能出現數字8,最大只有7。7.1) classPerson2) publicvoidprin
7、tValue(inti,intj)/*/3) publicvoidprintValue(inti)/*.*/4) 5) publicclassTeacherextendsPerson6) publicvoidprintValue()/*.*/7) publicvoidprintValue(inti)/*.*/8) publicstaticvoidmain(Stringargs)9) Persont=newTeacher();10) t.printValue(10);11) 12) 第十行的聲明將調用哪些方法?(單選題)A. online2B. online3C. online6D. onlin
8、e7答案D分析變量t是一個Person對象,但是它是用Teacher實例化的,這個問題涉及到java的編譯時多態(tài)和運行時多態(tài)的問題,就編譯時多態(tài)來說,t實際上是一個Person類,這涉及到類型的自動轉換(將一個子類的實例賦值給一個父類的變量是不用進行強制類型轉換,反之則需要進行強制類型轉換,而且被賦值的變量實際上應該是一個子類的對象),如果對t調用了子類中新增的方法則造成編譯時錯誤編譯將不能通過,而在運行時,運行時系統(tǒng)將根據t實際指向的類型調用對應的方法,對于本例來說,t.print(10)將調用t實際指向的Teacher類的對應方法。在java中,可以用一個子類的實例實例化父類的一個變量,而
9、變量在編譯時是一個父類實例,在運行時可能是一個子類實例。8. 給出下面的代碼:(單選題)if(x>0)System.out.println("first");elseif(x>-3)System.out.println("second");elseSystem.out.println("third");x的取值在什么范圍內時將打印字符串"second"。A. x>0B. x>-3C. x<=-3D. x<=0&x>-3答案D分析x>0時打印"firs
10、t",x>-3&&x<二0時打印"second",x<=-3時打印"third"。這個題目沒有什么難的,只要理解if語句的語法就可以了。9. 下面的哪些賦值語句是不正確的(單選題)A. floatf=11.1;B. doubled=5.3E12;C. doubled=3.14159;D. doubled=3.14D.答案A題目:。浮點數的賦值是帶有小數點的數字缺省是double型的,如果在浮點數后面加f或者F則是float,后面加d或者D則是double,科學計數法形式的浮點數也是double型的,而doubl
11、e的精度比float高,將一個高精度的double賦值給一個低精度的float時需要進行強制類型轉換,反之則不需要。10. 給出下面的不完整的類代碼:(單選題)classPersonStringname,department;intage;publicPerson(Stringn)name=n;publicPerson(Stringn,inta)name=n;age=a;publicPerson(Stringn,Stringd,inta)/doingthesameastwoargumentsversionofconstructor/includingassignmentname=n,age=a
12、department=d;下面的哪些表達式可以加到構造方法中的"doingthesameas."處?A. Person(n,a);B. this(Person(n,a);C. this(n,a);D. this(name,age).答案C分析:在同一個類的不同構造方法中調用該類的其它構造方法需要使用this()的形式,而且必須是在構造方法的第一行調用,這個和普通的方法重載調用的方式不同,普通的方法可以直接使用方法名加參數來調用,而且調用位置沒有限制,因此答案A是不行的,B的語法就是錯誤的,D的錯誤在于在父類型的構造函數被調用前不能引用類的成員。構造方法是一個類對象實例化的起
13、點(雖然嚴格來說首先執(zhí)行的并不是構造方法的第一個語句,而是內存的分配),因此在構造方法中不能將成員作為參數引用。11. publicvoidtest()/(多選題)tryoneMethod();System.out.println("condition1");A. catch(ArrayIndexOutOfBoundsExceptione)System.out.println("condition2");B. catch(Exceptione)System.out.println("condition3");C. finallySys
14、tem.out.println("finally");在oneMethod()方法運行正常的情況下將顯示什么?D. condition1E. condition2F. condition3G. finally答案ad分析:如果try塊中的語句在執(zhí)行時發(fā)生異常,則執(zhí)行從該處中斷而進入catch塊,根據異常的類型進行匹配,最前面的優(yōu)先進行匹配比較,只要該異常是catch中指定的異常的子類就匹配成功進而執(zhí)行相應的catch中的內容,而finally塊中的內容無論是否發(fā)生異常都將被執(zhí)行。12. 給出下面的代碼:(單選題)publicclassTestvoidprintValue(i
15、ntm)doSystem.out.println("Thevalueis"+m);while(-m>10)publicstaticvoidmain(Stringarg)inti=10;Testt=newTest();t.printValue(i);輸出將是什么?A.Thevalueis8B.Thevalueis9C.Thevalueis10D.Thevalueis11答案:c此題考察的是dowhile循環(huán)和-操作符的知識,do-while最少被執(zhí)行一次,在執(zhí)行完do中的內容后判斷while中的條件是否為true,如果為true的話就再執(zhí)行do中的內容,然后再進行判斷,
16、以此類推直到while的判斷為false時退出循環(huán)執(zhí)行循環(huán)后面的內容,而操作符的規(guī)則是在變量右邊的-將先進行運算,然后才是使變量的值減一,而在變量左邊的是先將變量的值減一再運算。13. 給出下面的代碼:(單選題)1) publicvoidmodify()2) inti,j,k;3) i=100;4) while(i>0)5) j=i*2;6) System.out.println("Thevalueofjis"+j);7) k=k+1;8) i-;9) 10) 哪些行在編譯時可能產生錯誤。A. line4B. line6C. line7D. line8答案c這個問題在
17、前面有關變量的類型及其作用域的問題中討論過,局部變量在使用前必須顯式初始化,而代碼中的變量k在使用前沒有。14. 給出下面的代碼片斷:(單選題)1) Stringstr=null;2) if(str!=null)&&(str.length()>10)3) System.out.println("morethan10");4) 5) elseif(str!=null)&(str.length()<5)6) System.out.println("lessthan5");7) 8) elseSystem.out.print
18、ln("end");哪些行將導致錯誤?A. line1B. line2C. line5D. line8答案c此題需要將代碼仔細看清楚,查詢沒有邏輯錯誤,if-else的使用沒有問題,也沒有拼寫錯誤,錯誤在于第5行的“與”操作符的使用,邏輯操作符(logicaloperator)的“與”應該是&&,而&是位邏輯操作符(bitwiselogicaloperator)的“與”,使用的對象不一樣,邏輯操作符的“與”的左右操作數都應該是布爾型(logicalboolan)的值,而位邏輯操作符的左右操作數都是整型(integral)值。15. 給出下面的代碼:(
19、單選題)publicclassPersonstaticintarr=newint10;publicstaticvoidmain(Stringa)System.out.println(arr1;)那個敘述是對的。A. 編譯時將發(fā)生錯誤。B. 編譯時正確但是運行時出錯。C. 輸出為0。D. 輸出為null答案cint型數組是類對象,它在類被加載時完成初始化,在前面題目中已經有敘述,由于是原始數據類型int,其初始值為0。16. publicclassParent/(多選題)publicintaddValue(inta,intb)ints;s=a+b;returns;classChildextend
20、sParent哪些方法可以加入類Child中?A.intaddValue(inta,intb)/dosomething.B.publicvoidaddValue()/dosomething.C.publicintaddValue(inta)/dosomething.D.publicintaddValue(inta,intb)throwsMyException/dosomething.答案bc此題涉及方法重載(overload),方法重寫(override)以及類派生時方法重寫的規(guī)則。方法重載的規(guī)則是:一、參數列表必須不同,個數的不同完全可以,如果個數相同則參數類型的不同不能引起歧意,例如int
21、和long,float和double就不能作為唯一的類型不同;二、返回值可以不同,但是不能是重載時唯一的不同點(這點和C+中不同,C+中返回類型必須一致)。方法重寫發(fā)生在類繼承時,子類可以重寫一個父類中已有的方法,必須在返回類型和參數列表一樣時才能說是重寫,否則就是重載,java中方法重寫的一個重要而且容易被忽略的規(guī)則是重寫的方法的訪問權限不能比被重寫的方法的訪問權限低!重寫的另一個規(guī)則是重寫的方法不能比被重寫的方法拋棄(throws)更多種類的異常,其拋棄的異常只能少,或者是其子類,不能以拋棄異常的個數來判斷種類,而應該是異常類層次結果上的種類。此題中答案a的錯誤就是重寫的訪問權限比被重寫的
22、方法的低,而b,C都屬于重載,d的錯誤在于比被重寫的方法拋棄了更多種類的異常。17. 共有成員變量MAX_LENG*個int型值,變量的值保持常數值100。使用一個短聲明定義這個變量。(單選題)A. publiCintMAX_LENGTH=100;B. finalintMAX_LENGTH=100;C. finalpubliCintMAX_LENGTH=100;D. publiCfinalintMAX_LENGTH=100。答案dJava中共有變量使用publiC定義,常量變量使用final,另外注意的是修飾符的順序,一個最完整的修飾是publiCstatiCfinalintvarial_a=
23、100;這個順序不能錯,這和C+中也是不同的。而答案c恰恰錯在修飾符的曲序上。18. 下面的那個java源文件代碼片斷是對的?(多選題)A. paCkagetestpaCkage;publiCClassTest/dosomething.B. importjava.io.*;paCkagetestpaCkage;publiCClassTest/dosomething.C. importjava.io.*;ClassPerson/dosomething.publiCClassTest/dosomething.D. importjava.io.*;importjava.awt.*;publiCCla
24、ssTest/dosomething.答案acdjava中的package語句必須是源文件中除去說明以外的第一條語句,導入包語句可以有幾個,但是必須位于package語句之后,其它類定義之前,一個源文件中可以有幾個類,但最多只能有一個是public的,如果有,則源文件的文件名必須和該類的類名相同。19. 下面的哪些聲明是合法的?(多選題)A. longl=4990;B. inti=4L;C. floatf=1.1;D. doubled=34.4;E. doublet=.答案ade此題的考點是數字的表示法和基本數據類型的類型自動轉換,沒有小數點的數字被認為是int型數,帶有小數點的數被認為是do
25、uble型的數,其它的使用在數字后面加一個字母表示數據類型,加l或者L是long型,加d或者D是double,加f或者F是float,可以將低精度的數字賦值給高精度的變量,反之則需要進行強制類型轉換,例如將int,short,byte賦值給long型時不需要顯式的類型轉換,反之,將long型數賦值給byte,short,int型時需要強制轉換(inta=(int)123L;)。20. 如下描述:(多選題)publicclassParentintchange()classChildextendsParent哪些方法可被加入類Child?A. publicintchange()B. intchan
26、g(inti)C. privateintchange()D. abstractintchang()答案ab這個題目的問題在第35題中有詳盡的敘述。需要注意的是答案D的內容,子類可以重寫父類的方法并將之聲明為抽象方法,但是這引發(fā)的問題是類必須聲明為抽象類,否則編譯不能通過,而且抽象方法不能有方法體,也就是方法聲明后面不能帶上那兩個大括號(),這些D都不能滿足。21. 給出下面的代碼:(單選題)1) classParent2) privateStringname;3) publicParent()4) 5) publicclassChildextendsParent6) privateString
27、department;7) publicChild()8) publicStringgetValue()returnname;9) publicstaticvoidmain(Stringarg)10) Parentp=newParent();11) 12) 哪些行將導致錯誤?A. line3B. line6C. line7D. line8E. line10答案d第8行的getValue()試圖訪問父類的私有變量,錯誤,參看前面有關變量類型及其作用域的敘述22. 變量"result"是一個boolean型的值,下面的哪些表達式是合法的?(多選題)A. result=true;
28、B. if(result)/dosomething.C. if(result!=0)/sosomething.D. result=1答案abJava的boolean不同于c或者c+中的布爾值,在java中boolean值就是boolean值,不能將其它類型的值當作boolean處理。23. 類Teacher和Student都是類Person的子類(單選題)Personp;Teachert;Students;P,t和s都是非空值。if(tinstanceofPerson)s=(Student)t;這個if語句導致的結果是什么A. 將構造一個Student對象。B. 表達式合法。C. 編譯時非法。
29、D. 編譯時合法而在運行時可能非法。答案cinstanceof操作符的作用是判斷一個變量是否是右操作數指出的類的一個對象,由于java語言的多態(tài)性使得可以用一個子類的實例賦值給一個父類的變量,而在一些情況下需要判斷變量到底是一個什么類型的對象,這時就可以使用instanceof了。當左操作數是右操作數指出的類的實例或者是子類的實例時都返回真,如果是將一個子類的實例賦值給一個父類的變量,用instanceof判斷該變量是否是子類的一個實例時也將返回真。此題中的if語句的判斷沒有問題,而且將返回真,但是后面的類型轉換是非法的,因為t是一個Teacher對象,它不能被強制轉換為一個Student對象
30、,即使這兩個類有共同的父類。如果是將t轉換為一個Person對象則可以,而且不需要強制轉換。這個錯誤在編譯時就可以發(fā)現,因此編譯不能通過。24. 給出下面的類:(單選題)publicclassSamplelonglength;publicSample(longl)length=l;publicstaticvoidmain(Stringarg)Samples1,s2,s3;s1=newSample(21L);s2=newSample(21L);s3=s2;longm=21L;哪個表達式返回true。A. s1=s2;B. s2=s3;C. m=s1;D. s1.equals(m).答案b前面已經
31、敘述過=操作符和String的equals()方法的特點,另外=操作符兩邊的操作數必須是同一類型的(可以是父子類之間)才能編譯通過。25. 給出下面有關List的表達式:(多選題)Listl=newList(6,true);哪些敘述是對的。A. 在沒有其它的約束的條件下該列表將有6行可見。B. 一行的最大字符數是6C. 列表將允許用戶多選。D. 列表只能有一項被選中。答案acList組件的該構造方法的第一個參數的意思是它的初始顯式行數,如果該值為0則顯示4行,第二個參數是指定該組件是否可以多選,如果值為true則是可以多選,如果不指定則缺省是不能多選。26. 給出下面的代碼:(單選題)clas
32、sPersonStringname,department;publicvoidprintValue()System.out.println("nameis"+name);System.out.println("departmentis"+department);publicclassTeacherextendsPersonintsalary;publicvoidprintValue()/doingthesameasintheparentmethodprintValue()/includingprintthevalueofnameanddepartment
33、.System.out.println("salaryis"+salary);下面的哪些表達式可以加入printValue()方法的"doingthesameas."部分?A. printValue();B. this.printValue();C. person.printValue();D.super.printValue().答案d子類可以重寫父類的方法,在子類的對應方法或其它方法中要調用被重寫的方法需要在該方法前面加上”super.”進行調用,如果調用的是沒有被重寫的方法,則不需要加上super.進行調用,而直接寫方法就可以。這里要指出的是java支持方法的遞歸調用,因此答案a和b在語法上是沒有錯誤的,但是不符合題目代碼中說明處的要求:即做和父類的方法中相同的事情?打印名字和部門,嚴格來說也可以選a和b。27. 給出下面的代碼片斷:(多選題)1) switch(m)2) cas
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度還建房產權登記與轉移合同范本2篇
- 2025年水泥制品企業(yè)環(huán)保節(jié)能項目投資合作合同3篇
- 二零二五年新推出二手房買賣合同代辦服務條款3篇
- 2025年體檢服務費分期付款協(xié)議
- 2025年勞務派遣用工終止協(xié)議
- 2025年垃圾處理與資源回收協(xié)議
- 二零二五版智能化辦公場地租賃及升級協(xié)議3篇
- 2025年分期付款購車協(xié)議
- 2025年城市污水處理設施建設PPP協(xié)議
- 2025年專利轉讓合同仲裁協(xié)議
- 英語代詞專項訓練100(附答案)含解析
- GB/T 4732.1-2024壓力容器分析設計第1部分:通用要求
- 《采礦工程英語》課件
- NB-T31045-2013風電場運行指標與評價導則
- NB-T+10488-2021水電工程砂石加工系統(tǒng)設計規(guī)范
- 天津市和平區(qū)2023-2024學年七年級下學期6月期末歷史試題
- 微型消防站消防員培訓內容
- (完整版)鋼筋加工棚驗算
- 焊接工藝的過程監(jiān)測與質量分析
- 華電行測題庫及答案2024
- 江西省萍鄉(xiāng)市2023-2024學年九年級上學期期末數學試題(含答案)
評論
0/150
提交評論