java中的运算符异或^,其运算符规则是:两个操作数的位中,相同则结果为0,不同则结果为1。
应用
一个数与0异或,值为这个数
System.out.println(0^100);
结果为100
可以找出组数中没有重复的那个数
如:
public class Demo1 {
public static void main(String[] args) {
int[] arr= {1,2,3,4,5,2,3,4,5,};
int i,v=0;
for(i=0;i<arr.length;i++) {
v^=arr[i];
}
System.out.println(v);
}
}
输出结果为
1
异或的本质是转为二进制进行比较,即:3^4=7,可以理解为,3转为二进制为11,4转为二进制为100;所以结果为7,而7转为二进制为111.