是true?class Test{
public static void main(String args[]){
int x=0;
boolean b1,b2,b3,b4;
b1=b2=b3=b4=true;
//x=(b1|b2&b3^b4)?x++:--x;
x=x++;
System.out.println(x);
}
}b1|b2&b3^b4为什么为true ?
^这个运算不是相同为0不同为1吗?
前三个都为1然后和b4^,不是为false 了吗?
public static void main(String args[]){
int x=0;
boolean b1,b2,b3,b4;
b1=b2=b3=b4=true;
//x=(b1|b2&b3^b4)?x++:--x;
x=x++;
System.out.println(x);
}
}b1|b2&b3^b4为什么为true ?
^这个运算不是相同为0不同为1吗?
前三个都为1然后和b4^,不是为false 了吗?
public static void main(String args[]){
int x=0;
boolean b1,b2,b3,b4;
b1=b2=b3=b4=true;
//x=((b1|b2)&(b3^b4))?x++:--x;
x=x++;
System.out.println(x);
}
}
这样的话,书本又错了一次。
^比|高
&比|高
但是^&想不到这么测试~~
应该是先计算b2&b3,然后用计算的结果与b4进行^计算,然后再用结果跟b1进行|计算。
因为b1为true,所以无论前面几步的计算结果如何,结果都为true。