-
就是对二进制数进行运算。在工作中用的也比较少,只要知道有几个符号和原理就可以了。
-
& 表示按位与运算符,按照二进制位进行与运算,同1为1,一0为0。把1理解为真,把0理解为假,就和之前所说的逻辑运算符逻辑与是一样的了。
-
| 表示按位或运算符,按照二进制位进行或运算,一1为1,同0为0。把1理解为真,把0理解为假,就和之前所说的逻辑运算符逻辑或是一样的了。
-
~ 表示按位取反运算符,按照二进制位进行取反,1为0,0为1。对二进制位进行的运算。
-
^ 表示按位异或运算符,按照二进制位进行异或运算,同为0,不同为1。在将常见进制的时候用^代表次幂。在讲Java程序常见错误的时候,一般 ^ 指向哪里就是哪里错了。--------------->最不容易被记住的运算符
-
按位异或的规则有点像领结婚证的规则:相同性别为假,不同性别为真。相同的性别不能领,不同性别可以领。按位与当作逻辑与,按位或当作逻辑或,按位取反当作逻辑非,按位异或就想想领结婚证的故事。
public class BitTest {
public static void main(String[] args) {
byte b1 = 11;
byte b2 = 13;
System.out.println("b1 = " + b1);
System.out.println("b2 = " + b2);
System.out.println("------------------------");
System.out.println(b1 & b2);
System.out.println(b1 | b2);
System.out.println(~b1);
System.out.println(~b2);
System.out.println(b1 ^ b2);
}
}