`
wawa129
  • 浏览: 321737 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

有一定水平的——面试题1

 
阅读更多
1) 编译和运行以下代码的结果是什么?【单选】C
1. public class Conditional{
2. public static void main(String[] args)    {
3. int x = 4;
4. System.out.println("value is " +
5. ((x > 4) ? 99.99 : 9));
6. }
7. }

A. 输出:value is 99.99
B. 输出:value is 9
C. 输出:value is 9.0
D. 第5行编译错误


2) 以下哪些表达式是合法的?【多选】ACE
A. String x = "Hello";int y = 9;x += y;
B. String x = "Hello";int y = 9;if(x == y){}
C. String x = "Hello";int y = 9;x = x + y;
D. String x = "Hello";int y = 9;y = y + x;
E. String x = null;int y = (x != null) && (x.length() > 0) ? x.length() : 0;


3) 下列表达式中,哪个使x的结果为负数?【单选】BD
A. int x = -1; x = x >>> 5;
B. int x = -1; x = x >>> 32;
C. byte x = -1; x = x >>> 5;
D. int x = -1; x = x >> 5;


4) 能使下述代码编译正确的最小修改是什么?【单选】A
1. final class Aaa
2. {
3. int xxx;
4. void yyy(){ xxx = 1;}
5. }
6.
7.
8. class Bbb extends Aaa
9. {
10. final Aaa finalref = new Aaa();
11.
12. final void yyy()
13. {
14. System.out.println("In method yyy()");
15. finalref.xxx = 12345;
16. }
17. }

A. 删除第1行的final修饰符
B. 删除第10行的final修饰符
C. 删除第15行
D. 删除第1行和第10行的final修饰符
E. 不作任何修改,代码就可以被编译


5) 以下定义合法的有【多选】BCE
A. default String s;
B. transient int i = 41;
C. public final static native int w();
D. abstract double d;
E. abstract final double hyperbolicCosine();


6) 关于以下代码,哪项描述是正确的【单选】E
1. class HasStatic
2. {
3.     private static int x = 100;
4.    
5.     public static void main (String args[])
6.     {
7.         HasStatic hs1 = new HasStatic();
8.         hs1.x++;
9.         HasStatic hs2 = new HasStatic();
10.         hs2.x++;
11.         hs1 = new HasStatic();
12.         hs1.x++;
13.         HasStatic.x++;
14.         System.out.println("x = " + x);
15.     }
16. }

A. 第8行不能编译,因为使用了私有变量的静态引用
B. 第13行不能编译,因为使用了私有变量的静态引用
C. 程序可以正确编译且输出结果为x = 102
D. 程序可以正确编译且输出结果为x = 103
E. 程序可以正确编译且输出结果为x = 104


7) 如何强制对一个对象立即执行垃圾回收【单选】A
A. 垃圾回收不能被强制执行
B. 调用System.gc();
C. 调用System.gc();并将需要回收的对象的引用传入
D. 调用Runtime.gc();
E. 设置所有指向该对象的引用为新值(例如设置成null)


8) 以下哪行编译会出错【单选】F
A. byte b = 5;
B. char c = '5';
C. short s = 55;
D. int i = 555;
E. float f = 555.5f;
F. b = s;
G. i = c;
H. if (f > b)
I. f = i;


9) 以下代码将会输出什么【多选】BCDF
1. for (int i = 0; i < 2; i++){
2.     for (int j = 0; j < 3; j++)    {
3.         if (i == j)        {
4.             continue;
5.         }
6.         System.out.println("i = " + i + " j = " + j);
7.     }
8. }

A. i = 0 j = 0
B. i = 0 j = 1
C. i = 0 j = 2
D. i = 1 j = 0
E. i = 1 j = 1
F. i = 1 j = 2


10) 以下类定义在分别的源文件中:
1. public class Test1{
2.     public float aMethod(float a, float b)throws
3.         IOException { ...
4.     }
5. }

1. public class Test2 extends Test1 {
2.    
3. }
在类Test2的第2行中,下面哪些方法定义是合法的【多选】BD

A. float aMethod(float a, float b){...}
B. public int aMethod(int a, int b)throws Exception{...}
C. public float aMethod(float a, float b)throws Exception{...}
D. public float aMethod(float p, float q){...}


11) 以下描述正确的有【多选】DE
A. Inner Class可以被定义成private
B. Inner Class可以被定义成static
C. 定义在方法中的Inner Class总是匿名的
D. 定义在方法中的Inner Class能够访问方法中的所有变量
E. Inner Class的构建需要其Outer Class的实例


12) 对于以下程序的输出描述正确的是【单选】E
1. public class A extends Thread {
2. A() {
3. setDaemon(true);
4. }
5.
6. public void run() {
7. (new B()).start();
8. try {
9. Thread.sleep(60000);
10. } catch (InterruptedException x) {}
11. System.out.println("A done");
12. }
13.
14. class B extends Thread {
15. public void run() {
16. try {
17. Thread.sleep(60000);
18. } catch (InterruptedException x) {}
19. System.out.println("B done");
20. }
21. }
22.
23. public static void main(String[] args) {
24. (new A()).start();
25. }
26. }

A. A done
B. B done
C. A done
B done
D. B done
A done
E. 程序不会抛出异常,也不会有任何输出
F. 程序输出“A done”和“B done”,顺序没有保证


13) 对于以下程序的输出描述正确的是【单选】
1. class MyThread extends Thread {
2. public void run() { System.out.println("AAA"); }
3. public void run(Runnable r) { System.out.println("BBB"); }
4.
5. public static void main(String[] args) {
6. new Thread(new MyThread()).start();
7. }
8. }

A. AAA
B. BBB
C. 编译错误
D. 没有输出


14) 以下程序中在第7行加入什么可以使ArraryList按顺序输出【多选】AC
1. ArraryList a = new ArrayList();
2. a.add(“Alpha”);
3. a.add(“Bravo”);
4. a.add(“Charlie”);
5. a.add(“Delta”);
6. Iterator iter = a.iterator();
7.

A. for (int i=0; i< a.size(); i++)
    System.out.println(a.get(i)));
B. for (int i=0; i< a.size(); i++)
    System.out.println(a[i]);
C. while( iter.hasNext() )
    System.out.println(iter.next());
D. for (int i=0, i< a.size(); i++)
    System.out.println(iter[i]);
E. for (int i=0; i< a.size(); i++)
    System.out.println(iter.get(i));



15) 以下描述正确的是【单选】A
A. catch(X x) 可以捕获所有X的子类异常。.
B. 类 Error 是一个RuntimeException.
C. 任何抛出Error的语句必须包含在try块中。
D. 任何抛出Exception的语句必须包含在try块中。



16) 选出4个可以被抛出的类型【多选】EF
A. Error
B. Event
C. Object
D. Throwable
E. Exception
F. RuntimeException


17) 给定如下程序段,对于输出,以下描述正确的是【单选】C
1. int x = 3;
2. int y = 1;
3. if (x = y) {
4. System.out.println(“x = “ + x);
5. }


A. x = 1
B. x = 3
C. 编译失败
D. 没有输出
E. 运行时跑出异常

18) 给定程序段,对于输出,以下描述正确的是【单选】C
1.
2. public static void aMethod() throws Exception {
3. try {
4. throw new Exception();
5. } finally {
6. System.out.println(“finally”);
7. }
8. }
9. public static void main(String args[]) {
10. try {
11. aMethod();
12. } catch (Exception e) {
13. System.out.println(“exception”);
14. }
15. System.out.println(“finished”);
16. }
17. }

A. finally
B. exception
finished
C. finally
exception
finished
D. Compilation fails.



19) 给定如下声明,则判断为真的三项是【多选】ABF
Integer a = new Integer(10);
Integer b = new Integer(10);
Integer c = a;
int d = 10;
double e = 10.0;

A. (a == c)
B. (d == e)
C. (b == d)
D. (a == b)
E. (b == c)
F. (d == 10.0)



20) 给定程序段,对于输出结果以下描述正确的是【单选】D
1. public class Test {
2. public static void main(String Args[]) {
3. int i =1, j = 0;
4. switch(i) {
5. case 2: j +=6;
6. case 4: j +=1;
7. default: j +=2;
8. case 0: j +=4;
9. }
10. System.out.println(“j =” +j);
11. }
12. }

A. 0
B. 2
C. 4
D. 6
E. 9
F. 13


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics