我要投稿 投诉建议

IBM Java笔试题

时间:2022-07-21 22:39:42 面试试题 我要投稿
  • 相关推荐

IBM Java笔试题

  如下是IBM校园招聘最常考的笔试题,下面分享给大家练习。

  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
 
http://jianlimoban.c321.cn/

【 IBM Java笔试题】相关文章:

精选Java笔试题09-26

IBM英语面试试题09-26

java面试简答试题09-25

经典java笔试题及答案09-26

java线程面试试题09-25

超经典 java 华为笔试题09-26

Java经典笔试题(含答案)09-26

Java Web基础笔试题09-26

2016高薪Java面试题08-05

java线程面试题汇总08-08