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. 执行时抛出异常.
代码分析:子类构造器中会自己主动的去调用父类中无參构造器。
版权声明:本文博主原创文章。博客,未经同意不得转载。