1. 下面的代码执行后,什么结果输出是?
String s1 = new String("Test"); String s2 = new String("Test"); if (s1 == s2) System.out.println("Same"); if (s1.equals(s2)) System.out.println("Equals");
A. Same Equals B.Same C. Equals D. 编译错误
代码分析:==是比較引用s1和s2本身的值,equals()方法是比較s1和s2所关联的String对象的内容
2. 例如以下代码 :
int i =3; System.out.print((i++)+(++i)-((++i)*(++i)));
运行的结果是
A.-33 B.-34 C.-35 D.-36
代码分析:
//************等同于例如以下代码******************* i = 3; int a = i++; //此时a=3, i=4 int b = ++i; //此时b=5, i=5 int c = ++i; //此时c=6, i=6; int d = ++i; //此时d=7, i=7 int m = a + b - (c * d); //m = 3 + 5 - (6 * 7); System.out.println(m); //****************************************
3. 例如以下代码:
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
代码分析:因为case 4后面没有写break语句。所以j++会运行3次。最后j=4,所以value=8
4.例如以下代码:
public void test(int x) { int odd = x % 2; if (odd) { System.out.println("odd"); } else { System.out.print("even"); } }A. 编译失败. B. "odd" 永远被输出. C. "even" 永远被输出 D. "odd" 输出x的值, E. "even" 输出x的值
代码分析:if的条件是一个boolean类型的值,所以这个地方写int类型的值会报错
5.以下程序输出结果
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() throws Exception { throw new Exception(); }
A.ABCD B. 编译失败. C. 显示C,退出程序. D. 显示B。C,退出程序. E. 显示CBD。退出程序.
代码分析:try块其中,发生异常的语句之后的代码不会运行,发生异常后,代码会运行到catch块中,finally块中的代码不管什么情况都会运行。
6.以下代码 :
public class Test6 extends Base { public static void main(String[] args) { new Test6(); new Base(); } } class Base { Base() { System.out.print("Base"); } }结果是什么?
A. Base B. BaseBase C. 编译失败. D. 代码执行但没有输出. E. 执行时抛出异常.
代码分析:子类构造器中会自己主动的去调用父类中无參构造器。
版权声明:本文博主原创文章。博客,未经同意不得转载。