《4 流程控制、异常和断言_有关断言的题不用做.docx》由会员分享,可在线阅读,更多相关《4 流程控制、异常和断言_有关断言的题不用做.docx(11页珍藏版)》请在三一办公上搜索。
1、内容概要练习u 流程控制 (if 和 switch) 1. 给出以下代码: 1. public class Switch2 2. final static short x = 2; 3. public static int y = 0; 4. public static void main(String args) 5. for (int z=0; z 3; z+) 6. switch (z) 7. case y: System.out.print(0 ); 8. case x-1: System.out.print(1 ); 9. case x: System.out.print(2 );
2、10. 11. 12. 13. 哪一项是运行结果? A. 0 1 2 B. 0 1 2 1 2 2 C. 在第7行编译失败。 D. 在第8行编译失败。 E. 在第9行编译失败。 F. 运行时抛出异常。 2. 给出下面的代码: 1. public class Switch2 2. final static short x = 2; 3. public static int y = 0; 4. public static void main(String args) 5. for (int z=0; z 3; z+) 6. switch (z) 7. case x: System.out.prin
3、t(0 ); 8. case x-1: System.out.print(1 ); 9. case x-2: System.out.print(2 ); 10. 11. 12. 13. 哪一项是运行结果? (1)A. 0 1 2 B. 0 1 2 1 2 2 C. 2 1 0 1 0 0 D. 2 1 2 0 1 2 E. 在第8行编译失败。 F. 在第9行编译失败。 3. 给出下面的代码: 1. public class If1 2. static boolean b; 3. public static void main(String args) 4. short hand = 42; 5
4、. if ( hand 50 ) ; 7. else if ( hand 40 ) 8. hand += 7; 9. hand+; 10. else 11. -hand; 12. System.out.println(hand); 13. 14. 哪一项是运行结果 A. 41 B. 42 C. 50 D. 51 E. 在第5行编译失败。 F. 在第6行编译失败。 4. Given the following, 1. public class Switch2 2. final static short x = 2; 3. public static int y = 0; 4. public st
5、atic void main(String args) 5. for (int z=0; z 6 ) 10. x+; 11. 12. if ( !b1 ) x = x + 10; 13. else if ( b2 = true ) x = x + 100; 14. else if ( b1 | b2 ) x = x + 1000; 15. 16. 17. System.out.println(x); 18. 19. 哪一项是运行结果? A. 0 B. 1 C. 101 D. 111 E. 1001 F. 1101 u 流程控制(循环) 6. 给出下面的代码: 1. public class W
6、hile 2. public void loop() 3. int x= 0; 4. while ( 1 ) 5. System.out.print(x plus one is + (x + 1); 6. 7. 8. 哪一项是正确的? A. 在第1行有一个语法错误。 B. 在第1行和第4行有一个语法错误。C. 在第1行、第4行和第5行有一个语法错误。 D. 在第4行有一个语法错误。 E. 在第4行和第5行有一个语法错误。 F. 在第5行有一个语法错误。 7. 给出下面的代码: 1. class For 2. public void test() 3. 4. System.out.println
7、(x = + x); 5. 6. 7. and the following output, x = 0 x = 1 哪两行语句独立地插入到第3行能够产生输出? A. for (int x = -1; x 2; +x) B. for (int x = 1; x 2; +x ) D. for (int x = 0; x 2; x+ ) E. for (int x = 0; x 2; +x ) 8. 给出以下代码: 1. public class Test 2. public static void main(String args) 3. int I = 1; 4. do while ( I 1
8、) ; 7. 8. 哪一项是运行结果? A. I is 1 B. I is 1 I is 1 C. 没有输出。 D. 编译错误。 E. I is 1 I is 1 I is 1 in an infinite loop. 9. 给出下面的代码: 11. int I = 0; 12. outer: 13. while (true) 14. I+; 15. inner: 16. for (int j = 0; j 10; j+) 17. I += j; 18. if (j = 3) 19. continue inner; 20. break outer; 21. 22. continue outer
9、; 23. 24. System.out.println(I); 25. 26. 哪一项是运行结果?(1) A. 1 B. 2 C. 3 D. 4 10. 给出下面的代码: 1. int I = 0; 2. label: 3. if (I 0 : bar(7); 14. assert t 1 : foo(8); 15. System.out.println(done ); 16. 17. 哪一项是运行的结果? A. bar B. bar done C. foo done D. bar foo done E. 编译失败。 F. 运行时抛出异常。 19. 下面哪两项是正确的? A. 包含断言语句的
10、程序在运行时不加参数,缺省情况下断言语句将被执行。B. 在Java1.4版本中,缺省情况下断言语句能够被编译。 C. 正确地使用运行时参数,可以指示虚拟机关闭某一个类中的断言同时打开某一个包中的断言。D. 下面都是合法的运行时断言标志: -ea, -esa, -dsa, -enableassertions, -disablesystemassertions E. 虚拟机在处理命令行参数时,对ea标志的处理会优先于da标志。 20. 给出下面的代码: 1. public class Test2 2. public static int x; 3. public static int foo(in
11、t y) 4. return y * 2; 5. 6. public static void main(String args) 7. int z = 5; 8. assert z 0; 9. assert z 2: foo(z); 10. if ( z 4; 12. switch (z) 13. case 4: System.out.println(4 ); 14. case 5: System.out.println(5 ); 15. default: assert z 10; 16. 17. if ( z 4: z+; 19. System.out.println(z); 20. 21. 哪一行是不恰当地使用了断言的例子? A. 第8行。 B. 第9行。C. 第11行。D. 第15行。E. 第18行。