int x=8;
int y=9;
System.out.println((++x!=y)&&(++x==y));
System.out.println(x);
运行结果为:
false
9
我想问的是做比较并输出这一行代码,有两个++x,只做一次运算吗
对于&&运算符来说,必须两侧的表达式都为true,结果才为true,如果有一侧为false,结果就为false,另一侧是不计算的
因此,由于++x!=y的结果为false,所有右侧++x==y是不处理的
所以结果为false和9