java面試題(nit-pro).docx_第1頁(yè)
java面試題(nit-pro).docx_第2頁(yè)
java面試題(nit-pro).docx_第3頁(yè)
java面試題(nit-pro).docx_第4頁(yè)
java面試題(nit-pro).docx_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

有價(jià)值的java面試題(nit-pro) 2010-06-26 08:05:51| 分類(lèi): Java SE | 標(biāo)簽: |字號(hào)大中小 訂閱 一、選擇題:(每題2分)1. 名為HelloWorld.java的Java應(yīng)用程序如下:public class HelloWorld public static void main(String args) System.out.println(Hello World!); 將這個(gè)程序放在C:Test下,然后在命令行窗口中,進(jìn)入到C:Test路徑執(zhí)行如下指令:javac helloworld.java將得到( )結(jié)果。A. 編譯出錯(cuò)。B. 編譯成功,生成名為HelloWorld.class的文件。C. 編譯成功,生成名為helloworld.class的文件。D. 找不到名為helloworld.java的文件。答案: D。在JAVA中是嚴(yán)格區(qū)分大小寫(xiě)的2. 下面的程序名為Student.java:public class Studentprivate String name;public Student(String s_name) /1name = s_name; /2public static void main(String args)Student s = new Student(); /3使用如下指令編譯:javac Student.java。將會(huì)得到的結(jié)果( )。A. 將會(huì)順利通過(guò)編譯,并將產(chǎn)生一個(gè)Student.class的類(lèi)文件。B. 編譯時(shí)在/3處出錯(cuò)。C. 編譯時(shí)在/2處出錯(cuò)。D. 編譯時(shí)在/1處出錯(cuò)。答案:B。因?yàn)镾tudent的構(gòu)造函數(shù)是帶有參數(shù)的構(gòu)造函數(shù)。3. 關(guān)于下面的類(lèi)描述中正確的是( )。class Test / 1void test(int i) / 2System.out.println(I am an int.); / 3 / 4void test(String s) / 5System.out.println(I am astring.); / 6 / 7/ 8public static void main(String args) / 9Test t=newTest(); / 10charch=y; / 11t.test(ch); / 12 / 13 / 14A. 編譯出錯(cuò)B. 編譯通過(guò),運(yùn)行出錯(cuò)C. 編譯通過(guò),運(yùn)行時(shí)輸出“I am an int”D. 編譯通過(guò),運(yùn)行時(shí)輸出“I am a string”答案:C。字符在ASCii碼中是以整數(shù)形式存在的。4. 關(guān)于下述程序:public class Test3 public static void main(String agrs) byte b = 2,e =3; /1byte f = b+e; /2System.out.println(f); /3描述正確的是( )。A. 編譯通過(guò),運(yùn)行時(shí)打印出5。B. 編譯通過(guò),運(yùn)行時(shí)打印出23。C. 編譯不通過(guò),在/2處有錯(cuò)誤,因?yàn)榇颂巉必須是一個(gè)int類(lèi)型的變量。D. 編譯不通過(guò),在/1處有錯(cuò)誤,不能這樣定義變量答案:C5. 在Java中,關(guān)于讓垃圾回收器強(qiáng)制回收對(duì)象的說(shuō)法中,正確的是( )。A垃圾回收不能強(qiáng)制B. 調(diào)用System.gc()方法C. 調(diào)用System.gc()方法,并且將需要回收的對(duì)象引用作為參數(shù)傳遞給這個(gè)方法D. 調(diào)用Runtime.gc()方法答案:B6. 關(guān)于下述程序:public class Test4public static void main(String agrs)double x = 1.234; /1double y = 2; /2System.out.println(+x+y); /3System.out.println(x+y+); /4描述正確的是( )。A. 編譯出錯(cuò)。B. 編譯通過(guò),執(zhí)行的時(shí)候在/2處報(bào)錯(cuò)。C. 編譯通過(guò),執(zhí)行時(shí)在/3處打印出3.234,在/4處打印出3.234。D. 編譯通過(guò),執(zhí)行時(shí)在/3處打印出1.2342.0,在/4處打印出3.234。答案:D7. 將當(dāng)前目錄下的所有文件都?jí)嚎s到一個(gè)test.jar包中,并且將壓縮信息顯示到控制臺(tái)上,可以使用下列的( )命令。A. jar vf test.jar ./ B. jar cvf test.jar .C. jar cv test.jar / D. jar cv test.jar .答案:B8. 下述程序:public class Test9static int i = 1;statici+;public Test9()i+;public static void main(String args)Test9 t1 = new Test9();System.out.println(t1.i); /1Test9 t2 = new Test9();System.out.println(t2.i); /2編譯運(yùn)行后在/1和/2處分別打印出()。A. 2和2 B. 3和3 C. 3和4 D. 4和3答案:C9. 關(guān)于下述三個(gè)接口:public interface IA public void methodA();public interface IB public void methodB();public interface IC extends IA,IBpublic void methodA();正確的是()。A. 接口IC不能通過(guò)編譯,因?yàn)樗^承了兩個(gè)接口。B. 接口IC不能通過(guò)編譯,因?yàn)樗x了一個(gè)和IA中一樣的方法methodA()。C. 接口IC不能通過(guò)編譯,因?yàn)樗^承了兩個(gè)接口,并且還定義了一個(gè)和IA一樣的methodA()方法。D. 接口IC能夠順利通過(guò)編譯。答案:D10. 下述語(yǔ)句執(zhí)行結(jié)果為( )。int arr = new int10;A. arr0 是0 B. arr9 是0 C. arr10是0 D. arr0 是null答案:A。對(duì)象數(shù)組保存的是引用,基本類(lèi)型數(shù)組保存的是基本類(lèi)型的值11. 關(guān)于break和continue語(yǔ)句,下面說(shuō)法錯(cuò)誤的有( )。A. break只能用于循環(huán)語(yǔ)句中。B. continue只能用于循環(huán)語(yǔ)句中。C. 在循環(huán)語(yǔ)句中,break語(yǔ)句將終止循環(huán);而continue是略過(guò)當(dāng)前循環(huán)中剩余的語(yǔ)句進(jìn)入下一次循環(huán)。D. 在循環(huán)語(yǔ)句中,continue語(yǔ)句將終止循環(huán);而break是略過(guò)當(dāng)前循環(huán)中剩余的語(yǔ)句進(jìn)入下一次循環(huán)。答案:C12. 下面標(biāo)識(shí)符合法的有( )A. IAMAClass B. $byte C. const D. _year答案:D。 標(biāo)識(shí)符只能是字母和下劃線開(kāi)頭。13. 關(guān)于垃圾收集的哪些敘述是對(duì)的?A. 程序開(kāi)發(fā)者必須自己創(chuàng)建一個(gè)線程進(jìn)行內(nèi)存釋放的工作。B. 垃圾收集將檢查并釋放不再使用的內(nèi)存。C. 垃圾收集允許程序開(kāi)發(fā)者明確指定并立即釋放該內(nèi)存。D. 垃圾收集能夠在期望的時(shí)間釋放被java對(duì)象使用的內(nèi)存。答案:B14. 下面的程序的輸出結(jié)果是:( )class SuperClass static System.out.println(SuperClass);SuperClass() System.out.println(SuperClass();public static void main(String args) SubClass sc = new SubClass();class SubClass extends SuperClass static System.out.println(SubClass);SubClass() System.out.println(SubClass();A. SuperClass/SubClass/SuperClass()/SubClass()/B. SuperClass/SuperClass()/SubClass /SubClass()/C. SubClass / SuperClass /SubClass()/SuperClass()/D. SubClass/SubClass()/SuperClass / SuperClass()/答案:A15. 下面程序的運(yùn)行結(jié)果是:( )class SuperClass public void f() System.out.print(SuperClass.f()/);class SubClass extends SuperClass public void f() System.out.print(SubClass.f()/);class ThirdClass public void g(SuperClass arg) System.out.print(g(SuperClass)/);arg.f();public void g(SubClass arg) System.out.print(g(SubClass)/);arg.f();public static void main(Stringargs) ThirdClass tc = newThirdClass();SuperClass sc = newSubClass();tc.g(sc);A. g(SubClass)/SubClass.f()/ B. g(SuperClass)/SuperClass.f()/C. g(SuperClass)/SubClass.f()/ D. g(SubClass)/SuperClass.f()/答案:A16. 取出字符串String target =IbmSunJavaBeaWeblogicOracle.中的子串“Java”的語(yǔ)句是:( )A. target.substring(5,10); B. target.substring(6,10);C. target.substring(5,9); D. target.substring(6,9);D 17. 下列描述正確的是:( )A. hashCode()返回是對(duì)象在內(nèi)存唯一的標(biāo)識(shí),對(duì)象不同,hashCode()返回值一定不同。B. hashCode()方法可以重寫(xiě),但重寫(xiě)的邏輯要和equals()保持一致性。C. 語(yǔ)句System.out.println(java=java);打印出的結(jié)果為“false”。D. HashSet容器在存放某一類(lèi)的對(duì)象時(shí),改變?cè)擃?lèi)的hashCode()方法可能會(huì)影響到HashSet容器的效率答案:B18. 屬于Collection容器的方法是:( )A. iterator B. hasNextElement C. toArray D. next答案:D19. 下列三條輸出語(yǔ)句輸出的結(jié)果為:( )System.out.print(Math.floor(156.1)+/);System.out.print(Math.ceil(-166.3)+/);System.out.print(Math.round(-123.5)+/);A. 156.0/-167.0/-124/ B. 157.0/-167.0/-123/C. 157.0/-166.0/-124/ D. 156.0/-166.0/-123/答案: D20. 下面的程序會(huì)有編譯錯(cuò)誤,更正的方法為:( )class OuterClass public void f() String s1 = inner;class InnerClass public voidg() System.out.println(s1);A. 將變量s1聲明為static B. 將變量s1聲明為publicC. 將變量s1聲明為final D. 將內(nèi)部類(lèi)InnerClass聲明為static答案:C.從內(nèi)部類(lèi)中訪問(wèn)局部變量,必須聲明為最終類(lèi)型21. 已有接口定義:package test;public interface Role public void action() throwsjava.io.IOException;下面的類(lèi)定義不會(huì)有編譯錯(cuò)誤的是:A. package test;public class A implements Role public void action() throws java.io.FileNotFoundException B. package test;public class B implements Role public void action() throws java.io.IOException C. package test;public class C implements Role public void action() ;D. package test;public class D implements Role public void action() throws Exception 答案:D22. 下面程序的輸出結(jié)果為:import java.io.*;class TestRandomAccessFile public static void main(Stringargs) throws Exception RandomAccessFile file= new RandomAccessFile(temp.dat, rw); file.writeBoolean(true);file.writeInt(100);file.writeInt(12345);file.writeInt(6789);file.seek(5); System.out.println(file.readInt();A. 100 B. 6789 C. 12345 D. 16777216答案:C23. 下面程序輸出的結(jié)果是:( )class SomeClass implements Comparableprivate int number;private String name;SomeClass(int number, Stringname) = name;this.number = number;public String toString() return name + number;public int compareTo(Object obj)SomeClass sc =(SomeClass) obj;int f =pareTo();int f1 = number sc.number ? 1 : number = sc.number ? 0 : -1;return f != 0 ? f :f1;public static void main(String args) SomeClass array = new SomeClass(10, Java), new SomeClass(9, Java), new SomeClass(10, J2EE);java.util.Arrays.sort(array);for(int i =0;i System.out.print(array+/);A. J2EE10/Java9/Java10/ B. Java9/J2EE10/Java10/C. Java10/Java9/J2EE10/ D. J2EE10/Java10/Java9/答案:A24. 下面的程序輸出的結(jié)果為:public class Test public static void main(String args) StringBuffer buffer =new StringBuffer();int value = 18;do int temp= value & 0x07; buffer.append(temp); while(value=3)!=0); System.out.println(buffer.reverse();A. 24 B. 23 C. 25 D. 22答案:D。0x7是十六進(jìn)制寫(xiě)法,其最后3位為1(00000111),所以將18(00010010)與0x7作安位與后變?yōu)?0000010(即十進(jìn)制數(shù)字2),temp變?yōu)?,然后循環(huán)執(zhí)行兩次buffer.append(temp)后,buffer就變?yōu)榱?2,buffer.reverse()是數(shù)組反轉(zhuǎn),22反轉(zhuǎn)之后還是22所以最后輸出為22二、簡(jiǎn)答題:(每題4分)1. 簡(jiǎn)述單子模式的思路,并且寫(xiě)出一種實(shí)現(xiàn)方案:所謂單子模式就是在整個(gè)應(yīng)用過(guò)程中只向外界提供唯一的一份實(shí)例,也就是說(shuō)在應(yīng)用時(shí)只有一個(gè)實(shí)例,這樣也就不用反反復(fù)復(fù)的創(chuàng)建實(shí)例了。那么根據(jù)他的要求,看下面一個(gè)最簡(jiǎn)單的單子模式的代碼:public class Singleton private static Singleton single = new Singleton(); private Singleton() public static Singleton getSingletonInstance() return single; 通過(guò)這段代碼,我們發(fā)現(xiàn)要想實(shí)現(xiàn)這個(gè)Singleton類(lèi)的實(shí)例,就必須要通過(guò)構(gòu)造函數(shù),但是他的構(gòu)造函數(shù)是private的,所以無(wú)法在別的類(lèi)中實(shí)現(xiàn)他的實(shí)例化,但是可以通過(guò)getSingletonInstance方法,能返回一個(gè)實(shí)例single,因?yàn)樗莗ublic的靜態(tài)函數(shù),可以被別的類(lèi)調(diào)用。這就是一個(gè)簡(jiǎn)單單子模式。當(dāng)然也可以把構(gòu)造single的語(yǔ)句放在getSingletonInstance方法中去實(shí)現(xiàn)??偨Y(jié)一下單子模式的特點(diǎn):1. 構(gòu)造方法是private修飾的。2. 有一個(gè)private的靜態(tài)應(yīng)用實(shí)例。3. 有一個(gè)靜態(tài)的public的方法返回該類(lèi)的實(shí)例。其實(shí)這三個(gè)特點(diǎn)完全是由于單子模式的要求所決定的。2. 寫(xiě)出private、public、protected以及Default各自的訪問(wèn)范圍:3. 用簡(jiǎn)短的語(yǔ)言解釋下列詞匯a) JVM JVM:Java虛擬機(jī)(Java Virtual Machine),它是一個(gè)虛構(gòu)出來(lái)的計(jì)算機(jī),是通過(guò)在實(shí)際的計(jì)算機(jī)上仿真模擬各種計(jì)算機(jī)功能來(lái)實(shí)現(xiàn)的,Java虛擬機(jī)有自己完善的硬件架構(gòu),器、堆棧、寄存器等,還具有相應(yīng)的指令系統(tǒng)。JVM屏蔽了與具體操作系統(tǒng)平臺(tái)相關(guān)的信息,使得Java程序只需生成在Java虛擬機(jī)上運(yùn)行的目標(biāo)代碼(字節(jié)碼),就可以在多種平臺(tái)上不加修改地運(yùn)行。Java虛擬機(jī)在執(zhí)行字節(jié)碼時(shí),實(shí)際上最終還是把字節(jié)碼解釋成具體平臺(tái)上的機(jī)器指令執(zhí)行。b) 垃圾回收機(jī)制c) 多態(tài)多態(tài),就是重載和重寫(xiě).重載發(fā)生在一個(gè)類(lèi)中.重寫(xiě)發(fā)生在子類(lèi),意思就是子類(lèi)重寫(xiě)父類(lèi)相同名稱(chēng)的方法.重載的特性,方法名相同.返回類(lèi)型,傳入方法的參數(shù)不同(包括個(gè)數(shù)和類(lèi)型). 重寫(xiě)的特性,方法名相同,返回類(lèi)型,參數(shù)均相同,必須發(fā)生在子類(lèi).d) 動(dòng)態(tài)綁定運(yùn)行時(shí)綁定也叫動(dòng)態(tài)綁定,它是一種調(diào)用對(duì)象方法的機(jī)制。Java調(diào)用對(duì)象方法時(shí),一般采用運(yùn)行時(shí)綁定機(jī)制。 1Java的方法調(diào)用過(guò)程 編譯器查看對(duì)象的聲明類(lèi)型和方法名(對(duì)象變量的聲明類(lèi)型)。通過(guò)聲明類(lèi)型找到方法列表。 編譯器查看調(diào)用方法時(shí)提供的參數(shù)類(lèi)型。 如果方法是private、static、final或者構(gòu)造器,編譯器就可以確定調(diào)用那個(gè)方法。這是靜態(tài)綁定。 如果不是上述情況,就要使用運(yùn)行時(shí)(動(dòng)態(tài))綁定。在程序運(yùn)行時(shí),采用動(dòng)態(tài)綁定意味著:虛擬機(jī)將調(diào)用對(duì)象實(shí)際類(lèi)型所限定的方法。 2運(yùn)行時(shí)(動(dòng)態(tài))綁定的過(guò)程 虛擬機(jī)提取對(duì)象的實(shí)際類(lèi)型的方法表; 虛擬機(jī)搜索方法簽名; 調(diào)用方法。 注意,這里說(shuō)的是對(duì)象的實(shí)際類(lèi)型。即在多態(tài)的情況下,虛擬機(jī)可以找到所運(yùn)行對(duì)象的真正類(lèi)型。 e) 關(guān)鍵字synchronized 1)synchronized關(guān)鍵字可以作為函數(shù)的修飾符,也可作為函數(shù)內(nèi)的語(yǔ)句,也就是平時(shí)說(shuō)的同步方法和同步語(yǔ)句塊。如果再細(xì)的分類(lèi),synchronized可作用于instance變量、object reference(對(duì)象引用)、static函數(shù)和class literals(類(lèi)名稱(chēng)字面常量)身上。2)無(wú)論synchronized關(guān)鍵字加在方法上還是對(duì)象上,它取得的鎖都是對(duì)象,而不是把一段代碼或函數(shù)當(dāng)作鎖而且同步方法很可能還會(huì)被其他線程的對(duì)象訪問(wèn)。3)每個(gè)對(duì)象只有一個(gè)鎖(lock)與之相關(guān)聯(lián)。4)實(shí)現(xiàn)同步是要很大的系統(tǒng)開(kāi)銷(xiāo)作為代價(jià)的,甚至可能造成死鎖,所以盡量避免無(wú)謂的同步控制。三、編程題(每題8分)1. 寫(xiě)一個(gè)類(lèi),當(dāng)該類(lèi)的實(shí)例創(chuàng)建時(shí)即啟動(dòng)一個(gè)線程,按照指定格式每隔5秒循環(huán)打印出當(dāng)前的時(shí)間(提示:使用Runnable接口或內(nèi)部類(lèi)創(chuàng)建線程,格式化日期使用java.text.SimpleDateFormat),指定的日期格式為:年月日 點(diǎn)分秒。package com.pool.domino;import java.text.SimpleDateFormat;import java.util.Date;public class ThreadState public static void main(String args) Test tr = new Test();Thread t = new Thread(tr);t.start(); class Test implements Runnablepublic void run() for(;)try Thread.sleep(5000);SimpleDateFormat my = new SimpleDateFormat(yyyy年MM月dd日 HH點(diǎn)mm分ss秒);Date now = new Date();System.out.println(my.format(now); catch (Interru

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論