为什么“值^ = true;”工作?

时间:2018-02-20 11:29:11

标签: java boolean

我发现value ^= true;适用于通过false和true更改布尔值,我想了解它为何起作用以及^做了什么,谢谢

3 个答案:

答案 0 :(得分:2)

^是一个按位异或。 ^=是一个按位XOR compound assignment operator,与递增整数时的操作完全相同:x += 3

所以你的表达式等同于value = value XOR true

答案 1 :(得分:2)

它是按位异或和赋值运算符。

value ^ = true等于value = value ^ true

二进制异或运算符如果在一个操作数中设置了该位,则不会同时复制该位。

示例 a = 0011 1100 b = 0000 1101

a ^ b = 0011 0001

答案 2 :(得分:0)

^是许多C语言中的按位XOR运算符。 XOR运算符的工作方式如下:

enter image description here

true1false0,因此,只要您XOR两个不同的位,它就会评估为true,否则{ {1}}。您可以使用计算器应用轻松尝试位操作,只需切换到编程模式即可。