第一题
1.查看以下代码,并写出结果
public class Test01 {
public static void main(String[] args) {
int i1 = 5;
boolean result = (i1++ > 5) && (++i1 > 4);
System.out.println(result);
System.out.println(i1);
}
}
参考答案:
false
6
认真阅读上面的程序,我们可以发现,首先定义了一个名为i1的变量,他的值为5,之后使用有表达式(i1++ > 5) && (++ i1 > 4);第一个括号内的内容,自加运算符写在i1的后面,所以我们运算的顺序是应该先比较i1和5的 大小,可以发现这个值为false,之后进行自加运算,所以这时i1的值为6.
同时,我们可以发现,这其中的逻辑运算符使用的是短路与运算符,而运算符前面 的值为false,所以我们不必再运算后面的值,故而最终输出的结果应该是false和6.
第二题
2.查看以下代码,并写出结果
public class Test02 {
public static void main(String[] args) {
int i1 = 5;
boolean result = (i1++