今天做了这个,自己算的总是和运行的结果不一致.
class Demo{
public static void main(String[] args){
int x = 4;
int y = 5;
if(x++>4 & ++y>5) {
x++;
}
System.out.println("x=" + x + ",y=" + y);
}
}
问题:
刚开始以为在x++>4判断为假的情况下,还觉得它不用再算了 ,因为它假的情况下就不执行下面这个X++的,
所以就得出它的X值是4,然后在&(与)的情况下++y是需要自加运算的,它的结果为6是正确的,可是问题就是这个X++
纠结了我半天.
解决:
虽然x++在判断后为假,但是它依然要进行自加,毕竟x++属于先运算再自加嘛,...所以最终的结果是:x=5,y=6.