java当中^到底怎么用?
有两种用法,一个是用在二进制里,另一个用在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,和上方二进制结论长得很像吧
如有错,请指正