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

时间:2015-03-01 03:41:21

标签: java

java中的

是Logical Xor和Bitwise Xor共享相同的^

我试着查看我的java书,看起来如此。 太奇怪了?

1 个答案:

答案 0 :(得分:2)

这两者都取决于操作数。

JLS 15.22.1

  

当运算符&,^或|的两个操作数时是一种可转换(§5.1.8)到基本整数类型的类型......

或换句话说,两个积分操作数导致按位异或。

    0  1

0   0  1
1   1  0

JLS 15.22.2

  

当&,^或|的两个操作数时operator的类型为boolean或Boolean,则按位运算符表达式的类型为boolean。

        false   true

false   false    true
 true    true   false

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