我是靠谱客的博主 健康高跟鞋,最近开发中收集的这篇文章主要介绍ibm笔试题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

ibm Java笔试题
1. 如下代码 
class A { 
A() { } 
} 

class B extends A { 
} 
哪两个说明是正确的? 
A. B类的构造器应该是 public. 
B. B类的构造器应该是没有参数 
C. B类的构造器应该调用this(). 
D. B类的构造器应该调用super(). 
答案:BD
解析:默认构造器的修饰符只跟当前类的修饰符有关。 比如B如果是public的,则默认构造方法是public的。 如果B是默认的访问权限,则构造方法相同。 当B是内部类是,前面也可以有protected,private等,默认添加的构造方法仍然和类的修饰符一致。

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); 
} 
} 
输出结果是什么? 
A. 0 
B. 1 
C. 2 
D. 编译失败 
答案:D
解析:static在Java语言中的使用有四种:(成员变量、成员方法、代码块、内部类)

3. 如下代码 
int i =1,j =10; 
do { 
if(i++> --j) { 
continue; 
} 
} while (i <5); 
System.out.println("i = " +i+ "and j = "+j); 
输出结果是什么? 
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"); 
} 
输出结果是什么? 
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; 
} 
} 
输出结果是什么? 
A. value = 3 
B. value = 4 
C. value = 5 
D. value = 6 
E. value = 7 
F. value = 8 
答案:F

6. 以下数组的定义,哪三条是正确的? 
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. 在接口中以下哪条定义是正确的? (两个答案) 
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"); 
} 
} 
哪个描述正确? 
A. 编译失败. 
B. "odd" 永远被输出. 
C. "even" 永远被输出 
D. "odd" 输出x的值, 
E. "even" 输出x的值 
答案:A

10. 如下代码: 
public class X { 
public X aMethod() { return this;} 
} 
public class Y extends X { 

} 
哪两个方法能加到Y类的定义中? 
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(); 
} 
} 
结果是什么? 
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"); 
} 
} 
} 
结果是什么? 
A. Ex0 caught 
B. exception caught 
C.第2行出错,编译失败. 
D. 第6行出错,编译失败. 
答案:A

13. 以下哪四个能使用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++; 
} 
} 
结果是什么? 
A. 0 
B. 1 
C. 编译失败. 
D. 抛出运行时异常. 
答案:A

15. 如下代码: 
int i = 0; 
for (; i <4; i += 2) { 
System.out.print(i + ""); 
} 
System.out.println(i); 
输出结果是什么? 
A. 0 2 4 
B. 0 2 4 5 
C. 0 1 2 3 4 
D. 编译失败 
E. 一个异常在运行时被抛出 
答案:A

16. 如下代码: 
public class Foo { 
public static void main(String[] args) { 
try { 
return; 
} finally { 
System.out.println( "Finally" ); 
} 
} 
} 
输出结果是什么? 
A. Finally 
B.编译失败 
C. 代码正常运行但没有任何输出. 
D. 运行时抛出异常 
答案:A

17. 如下代码: 
class Base { 
Base() { System.out.print("Base"); } 
} 
public class Alpha extends Base { 
public static void main( String[] args ) { 
new Alpha(); 
new Base(); 
} 
} 
结果是什么? 
A. Base 
B. BaseBase 
C. 编译失败. 
D. 代码运行但没有输出. 
E. 运行时抛出异常. 
答案: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"); 
} 
结果是什么? 
A. Zero 
B. Twelve 
C. Default 
D. Twelve 
Zero 
Default 
E. 编译失败. 
答案:E

19. 下面哪三个描述是正确的? 
A. 默认构造器初始化方法变量 
B. 默认构造器有和它所在类相同的访问修饰词. 
C. 默认构造器调用其父类的无参构造器. 
D. 如果一个类没有无参构造器,编译器会为它创建一个默认构造器. 
E. 只有当一个类没有任何构造器时,编译器会为它创建一个默认构造器 
答案: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. } 
当Float对象在第11行被创建后, 什么时候能够被垃圾回收? 
A. 13行以后. 
B. 14行以后. 
C. 15行以后. 
D. 16行以后.
答案:B

转载于:https://blog.51cto.com/zhaohaiyang/494056

最后

以上就是健康高跟鞋为你收集整理的ibm笔试题的全部内容,希望文章能够帮你解决ibm笔试题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部