运算符
位运算符
Java 支持的位运算符有如下7个:
- &:按位与(同为真时为真)
- |:按位或(同为假时为假)
- ~:按位非
- ^:按位异或(a、b两个值不相同,结果为1;a、b两个值相同,结果为0)
- <<:左位移运算符
- >>:右位移运算符
- >>>:无符号右移运算符
位运算符运算结果表:
第一个运算数 | 第二个运算数 | 按位与 | 按位或 | 按位异或 |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 0 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
左移运算(<<)是将运算数的二进制码整体左移指定位数,左移后右边空出来的位用 0 来填充。
右移运算(>>)右移指定位数后,左边空出来的位以原来的符号位来填充。即如果第一个操作数原来是正数,则左边补 0;如果第一个操作数是负数,则左边补 1。