在java中是逻辑异或和按位异或共享相同的^

  • 本文关键字:共享 位异或 java java
  • 更新时间 :
  • 英文 :


在java中是Logical Xor和Bitwise Xor共享相同的^

我试着看我的Java书,似乎是这样。这么奇怪?

两者兼而有之,具体取决于操作数。

JLS 15.22.1:

当运算符 &、^ 或 | 的两个操作数都是可转换为 (§5.1.8( 到原始整型的类型时......

或者换句话说,两个整数操作数会产生按位 XOR。

    0  1
0   0  1
1   1  0

或 JLS 15.22.2:

当 &、^ 或 | 运算符的两个操作数都是布尔值或布尔值类型时,按位运算符表达式的类型为布尔值。

        false   true
false   false    true
 true    true   false

运算符根据操作数执行不同的功能一点也不奇怪 - 考虑加法与字符串连接。 2 + 2"Hello " + "world!"显然是两种不同类型的操作。

最新更新