1.
public class Test1 {
public static void main(String[] args) {
int x = 5;
boolean b1 = true;
boolean b2 = false;
if ((x == 4) && !b2) {
System.out.println("1");
}
System.out.println("2");
if ((b2 = true) && b1) {
System.out.println("3");
}
}
}
结果是:(D)
A.2
B.3
C.1 2
D.2 3
E.1 2 3
F.Compilation fails.
E.An exceptional is thrown at runtime.
解析:
因为b2的类型是boolean,所以b2=true是赋值操作,b1为true,输出结果3。
但如果,b2的类型为int,String等其他类型,则编译报错。
int b3 = 8;
if(b3 = 10){
System.out.println("4");
}
这样会编译报错。
2.代码如下:
public class Pass {
public static void main(String[] args) {
int x = 5;
Pass p = new Pass();
p.doStuff(x);
System.out.println("main x = " + x);
}
void doStuff(int x) {
System.out.println("doStuff x = " + x++);
}
}
结果为?
答案:doStuff x = 5
main x = 5
3.