"^"逻辑运算符(异或),逻辑运算符用于连接boolean类型的表达式,两边不一样时,既一边真一边假,结果为真;当两边都一样时,既两边假或两边真时,结果为假
假设b=true a=false ;
b = b ^ a;// 由于^两边不同,结果为b被赋值ture
a = b ^ a;// 由于^两边不同,结果为a被赋值ture
b = b ^ a;// 由于^两边相同,结果为b被赋值false
假设b=false a=true ;
b = b ^ a;// 由于^两边不同,结果为b被赋值ture
a = b ^ a;// 由于^两边相同,结果为a被赋值false
b = b ^ a;// 由于^两边相同,结果为b被赋值true
假设 a=7 ,b=4 ;转换成2进制, a=0111 b=0100
b = b ^ a;// 0111
^0100
0011
既b最后赋值为0011
a = b ^ a;// 0011 相当于 a = (b ^ a) ^ a; 根据结论 a = b;
^0100
0111
既此时a为0111
b = b ^ a; // 0011 由于在上一个语句中 a 已经被赋值为b, 所以此句相当于 b =(b ^ a)^ b ; 根据结论 b = a; 完成了两个变量的互换.
^0111
0100
既b此时为0100