1. 如下代碼 class A { A() { } } class B extends A { } 哪兩個(gè)說(shuō)明是正確的? A. B類的構(gòu)造器應(yīng)該是 public. B. B類的構(gòu)造器應(yīng)該是沒(méi)有參數(shù) C. B類的構(gòu)造器應(yīng)該調(diào)用this(). D. B類的構(gòu)造器應(yīng)該調(diào)用super(). 答案:BD 解析:默認(rèn)構(gòu)造器的修飾符只跟當(dāng)前類的修飾符有關(guān)。 比如B如果是public的,則默認(rèn)構(gòu)造方法是public的。 如果B是默認(rèn)的訪問(wèn)權(quán)限,則構(gòu)造方法相同。 當(dāng)B是內(nèi)部類是,前面也可以有protected,private等,默認(rèn)添加的構(gòu)造方法仍然和類的修飾符一致。 2. 如下代碼 public class Test { public int aMethod() { static int i = 0; i ; return i; } public static void main (String args[]) { Test test = new Test(); test.aMethod(); int j = test.aMethod(); System.out.println(j); } } 輸出結(jié)果是什么? A. 0 B. 1 C. 2 D. 編譯失敗 答案:D 解析:static在Java語(yǔ)言中的使用有四種:(成員變量、成員方法、代碼塊、內(nèi)部類) 3. 如下代碼 int i =1,j =10; do { if(i > --j) { continue; } } while (i <5); System.out.println("i = " i "and j = " j); 輸出結(jié)果是什么? A. i = 6 and j = 5 B. i = 5 and j = 5 C. i = 6 and j = 5 D. i = 5 and j = 6 E. i = 6 and j = 6 答案:D 4. 如下代碼: boolean bool = true; if(bool = false) { System.out.println("a"); } else if (bool) { System.out.println("c"); } else if (!bool) { System.out.println("c"); } else { System.out.println("d"); } 輸出結(jié)果是什么? A. a B. b C. c D. d E. 編譯失敗 答案:C 5. 如下代碼: public class SwitchTest { public static void main(String[] args) { System.out.println("value = " switchIt(4)); } public static int switchIt(int x) { int j = 1; switch (x) { case 1: j ; case 2: j ; case 3: j ; case 4: j ; case 5: j ; default: j ; } return j x; } } 輸出結(jié)果是什么? A. value = 3 B. value = 4 C. value = 5 D. value = 6 E. value = 7 F. value = 8 答案:F 6. 以下數(shù)組的定義,哪三條是正確的? A. public int a [] B. static int [] a C. public [] int a D. private int a [3] E. private int [3] a [] F. public final int [] a 答案:A,B,F 7. 如下代碼: class Super { public Integer getLenght() { return new Integer(4); } } public class Sub extends Super { public Long GetLenght() { return new Long(5); } public static void main(String[] args) { Super sooper = new Super(); Sub sub = new Sub(); System.out.println(sooper.getLenght().toString() "," sub.getLenght().toString() ); } } 輸出是什么? A. 4,4 B. 4,5 C. 5,4 D. 5,5 E. 編譯失敗. 答案:A 8. 在接口中以下哪條定義是正確的? (兩個(gè)答案) A. void methoda(); B. public double methoda(); C. public final double methoda(); D. static void methoda(double d1); E. protected void methoda(double d1); 答案:A,B 9. 如下代碼: public void test(int x) { int odd = x%2; if (odd) { System.out.println("odd); } else { System.out.println("even"); } } 哪個(gè)描述正確? A. 編譯失敗. B. "odd" 永遠(yuǎn)被輸出. C. "even" 永遠(yuǎn)被輸出 D. "odd" 輸出x的值, E. "even" 輸出x的值 答案:A 10. 如下代碼: public class X { public X aMethod() { return this;} } public class Y extends X { } 哪兩個(gè)方法能加到Y(jié)類的定義中? A. public void aMethod() {} B. private void aMethod() {} C. public void aMethod(String s) {} D. private Y aMethod() { return null; } E. public X aMethod() { return new Y(); } 答案:E,? 11. 如下代碼: public class X { public static void main(String [] args) { try { badMethod(); System.out.print("A"); } catch (Exception ex) { System.out.print("C"); } finally { System.out.print("B"); } System.out.print("D"); } public static void badMethod() { throw new Error(); } } 結(jié)果是什么? A. ABCD B. 編譯失敗. C. 顯示C,退出程序. D. 顯示B,C,退出程序. E. 顯示BCD,退出程序. 答案:? 12. 如下代碼: class Exc0 extends Exception { } class Exc1 extends Exc0 { } public class Test { public static void main(String args[]) { try { throw new Exc1(); } catch (Exc0 e0) { System.out.println("Ex0 caught"); } catch (Exception e) { System.out.println("exception caught"); } } } 結(jié)果是什么? A. Ex0 caught B. exception caught C.第2行出錯(cuò),編譯失敗. D. 第6行出錯(cuò),編譯失敗. 答案:A 13. 以下哪四個(gè)能使用throw拋出? A. Error B. Event C. Object D. Throwable E. Exception F. RuntimeException 答案:A,D,E,F 14. 如下代碼: public class X ( private static int a; public static void main(String [] args) { modify(a); System.out.println(a); } public static void modify(int a) { a ; } } 結(jié)果是什么? A. 0 B. 1 C. 編譯失敗. D. 拋出運(yùn)行時(shí)異常. 答案:A 15. 如下代碼: int i = 0; for (; i <4; i = 2) { System.out.print(i ""); } System.out.println(i); 輸出結(jié)果是什么? A. 0 2 4 B. 0 2 4 5 C. 0 1 2 3 4 D. 編譯失敗 E. 一個(gè)異常在運(yùn)行時(shí)被拋出 答案:A 16. 如下代碼: public class Foo { public static void main(String[] args) { try { return; } finally { System.out.println( "Finally" ); } } } 輸出結(jié)果是什么? A. Finally B.編譯失敗 C. 代碼正常運(yùn)行但沒(méi)有任何輸出. D. 運(yùn)行時(shí)拋出異常 答案:A 17. 如下代碼: class Base { Base() { System.out.print("Base"); } } public class Alpha extends Base { public static void main( String[] args ) { new Alpha(); new Base(); } } 結(jié)果是什么? A. Base B. BaseBase C. 編譯失敗. D. 代碼運(yùn)行但沒(méi)有輸出. E. 運(yùn)行時(shí)拋出異常. 答案:B 18. 如下代碼: Float f = new Float("12"); switch (f) { case 12: System.out.println("Twelve"); case 0: System.out.println("Zero"); default: System.out.println("Default"); } 結(jié)果是什么? A. Zero B. Twelve C. Default D. Twelve Zero Default E. 編譯失敗. 答案:E 19. 下面哪三個(gè)描述是正確的? A. 默認(rèn)構(gòu)造器初始化方法變量 B. 默認(rèn)構(gòu)造器有和它所在類相同的訪問(wèn)修飾詞. C. 默認(rèn)構(gòu)造器調(diào)用其父類的無(wú)參構(gòu)造器. D. 如果一個(gè)類沒(méi)有無(wú)參構(gòu)造器,編譯器會(huì)為它創(chuàng)建一個(gè)默認(rèn)構(gòu)造器. E. 只有當(dāng)一個(gè)類沒(méi)有任何構(gòu)造器時(shí),編譯器會(huì)為它創(chuàng)建一個(gè)默認(rèn)構(gòu)造器 答案:B,C,E 20. 如下代碼 10. public Object m() { 11. Object o = new Float(3.14F); 12. Object [] oa = new Object[1]; 13. oa[0] = o; 14. o = null; 15. oa[0] = null; 16. print 'return 0'; 17. } 當(dāng)Float對(duì)象在第11行被創(chuàng)建后, 什么時(shí)候能夠被垃圾回收? A. 13行以后. B. 14行以后. C. 15行以后. D. 16行以后. 答案:B http://www.dameics.com/
IBM Java筆試題
【www.dameics.com - 學(xué)人智庫(kù)】
如下是IBM校園招聘最常考的筆試題,下面分享給大家練習(xí)。
最新文章
推薦文章
- 公積金補(bǔ)繳證明模板
- 創(chuàng)業(yè)之前需要做好的準(zhǔn)備事項(xiàng)
- 如何優(yōu)化你的創(chuàng)業(yè)團(tuán)隊(duì)
- 23個(gè)小本掙錢創(chuàng)業(yè)好項(xiàng)目
- 鄉(xiāng)鎮(zhèn)穩(wěn)賺不賠的創(chuàng)業(yè)項(xiàng)目有哪些?
- 有5000塊錢怎么投資?5000塊錢創(chuàng)
- 居民區(qū)熱門投資小本創(chuàng)業(yè)項(xiàng)目(2)
- 旅游英語(yǔ)專業(yè)畢業(yè)生求職信模板