与、或、异或的运算都是将两个数字转化为二进制数后,按位比较的,具体如下图:
与 ( & ) | 0 & 0 = 0 | 1 & 0 = 0 | 0 & 1 = 0 | 1 & 1 = 1 |
---|---|---|---|---|
或(|) | 0 | 0 = 0 | 1 | 0 = 1 | 0 | 1 = 1 | 1 | 1 = 1 |
异或( ^ ) | 0 ^ 0 = 0 | 1 ^ 0 = 1 | 0 ^ 1 = 1 | 1 ^ 1 = 0 |
与、或 操作符合日常逻辑,异或操作大家只要记住,相同为 0 ,不同为 1 即可。
PS: Java 在遇到与或是经常会顺带问问短路与 ( && ) 短路或( || )的区别,即遇到前半部分符合条件立即终止判断。