- 相關(guān)推薦
IBM Java筆試題
如下是IBM校園招聘最?嫉墓P試題,下面分享給大家練習(xí)。
1. 如下代碼
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
【 IBM Java筆試題】相關(guān)文章:
精選Java筆試題09-26
IBM英語(yǔ)面試試題09-26
java面試簡(jiǎn)答試題09-25
經(jīng)典java筆試題及答案09-26
java線程面試試題09-25
超經(jīng)典 java 華為筆試題09-26
Java經(jīng)典筆試題(含答案)09-26
Java Web基礎(chǔ)筆試題09-26
2016高薪Java面試題08-05
java線程面試題匯總08-08