先看代码
public class LogicalOperator {public static void main(String[] args) {int i = 1;boolean b = !(i++ == 3) ^ (i++ == 2) && (i++ == 3);System.out.println(b);System.out.println(i);}}
结果是b为false,i为3.^异或,相同为false,不同为true。而&&这个是and的意思,条件比较时,只要前面的条件是false,那么后面的条件就不用运算了,所以最后i是3。
