有两种用法,一个是用在二进制里,另一个用在boolean类型里面。
两个用法意思相同。
二进制System.out.println(3 ^ 5);
3的二进制是00000000 00000000 00000000 00000011
5的二进制是00000000 00000000 00000000 00000101
就是相等时为0,不等时为1,那么结合的二进制就是
00000000 00000000 00000000 00000110
好了,转化为十进制就是6,答案也就是6了。
boolean类型System.out.println(true ^ true); //false System.out.println(true ^ false); //true System.out.println(false ^ true); //true System.out.println(false ^ false); //false
结论来了,相等时为false,不等时为true,和上方二进制结论长得很像吧
如有错,请指正



