按位操作符
Java中所有的按位操作符,都是在二进制上进行操作的,而且是有符号数。
操作符 | 说明 |
---|---|
<< | 逻辑左移运算符 |
(>>) | 逻辑右移运算符 |
~ | 按位取反运算符 |
& | 逻辑与运算符 |
^ | 异或运算符 |
I | 逻辑或运算符 |
测试代码
public class Test {
public static void main(String[] args) {
//Java编译器中 int只有32位,左移最大位移31位。
int a = 1, b = 32;
System.out.println(a << b);//32位相当于移位为0
System.out.println(a << 33);//33位相当于移位为1
System.out.println(a << 34);//34位相当于移位为2
System.out.println();
System.out.println((5 >> 2));
System.out.println();
System.out.println(~5);//符号位,也同时取反
System.out.println(5 & 6);
System.out.println(5 ^ 6);
System.out.println(5 | 6);
}
}