2.3.4 位运算符
Java中的常用位运算符如下:
~ 位求反
& 按位与
| 按位或
^ 按位异或
<< 左移
>> 右移(https://www.daowen.com)
>>> 不带符号右移
【例2.13】测试位运算符及表达式。

运行结果:

程序中a的值是129,转换成二进制就是10000001,而b的值是128,转换成二进制就是10000000。根据与运算符的运算规律,只有两个位都是1,结果才是1,可以知道a & b结果就是10000000,即128。根据或运算符的运算规律,只有两个位有一个是1,结果才是1,可以知道a | b结果就是10000001,即129。a的值是0,转换成二进制就是00000000,取反后,为11111111,即-1。右移运算符对应的表达式为x>>a,运算的结果是操作数x被2的a次方来除,左移运算符对应的表达式为x<<a,运算的结果是操作数x乘以2的a次方,因此36>>2= 9,36<<2 = 144。