运算符 |
含义 |
运算规则 |
& |
按位与 |
两个操作数都是1,结果才是1 |
| |
按位或 |
两个操作数一个是1,结果为1 |
^ |
按位异或 |
两个操作数相同,结果为0;两个操作数不同,结果为1 |
~ |
按位非 |
两个操作数都是true,结果才是true;不论左边取值,右边的表达式都会进行运算 |
<< |
左移 |
右侧空位补0 |
>> |
右移 |
左侧空位补最高位,即符号位 |
>>> |
无符号右移 |
左侧空位补0 |
注意:
- 位运算符的操作数都是整型数,包括int、short、long、byte和char
- 位运算符的运算结果也都是整型数,包括int、long
- 如果操作数是char、byte、short,位运算前其值会自动晋升为int,运算结果也为int 位
- 运算符对操作数以二进制为单位进行运算