Java中的||和^到底有什么区别?
^ 异或运算
在数字逻辑运算中,异或运算可以分解为 a^b = (~a & b) | (a & ~b)
简单的记法可以记为,相同为0(假),不同为1(真)
异或运算和 || 完全是两回事
我觉得你是不是想问 | 和 ||
|| 逻辑运算 或,左右两边是表达式,其值只有True和False,只有两边都是False时运算结果才是False,否则就是True。并且当左边表达式为True时,就直接得到True的结果,右边表达式不会计算了(如果是需要计算的表达式的话)
| 位运算 或,左右两边的值,按照其二进制位,每一位进行或运算,比如 1010 | 1100 结果是 1110
简单一点理解:
a||b : a = true; b = false 返回 true |||||| a = true ; b = true 返回 true
a^b : a = true; b = false 返回true |||||| a = true ; b = true 返回 false
明白了么?