Java中的运算符,主要是针对二进制位进行运算,所谓的二进制位,它是二进制记数系统中表示小于2的整数的符号,一般用1或 0表示,其中最高位与数值的正负有关,以最常用的int为例
都知道int的取值范围是
-2147483648~2147483647
-2147483648=0b10000000000000000000000000000000
2147483647=0b01111111111111111111111111111111
使用场景举例:可结合位移的知识点用于权限、功能开关等功能的控制,如此一来可提高代码的可读性
与运算符:&
&
表示与运算符
,运算规则:两个操作数中位都为1,结果才为1,否则结果为0
如三个int值分别为a=1
,b=2
,c=3
,其二进制位分别表示为(数值较小,为了方便,取低八位作为显示)a=0b00000001
,b=0b00000010
,c=0b00000011
a&b=0
,计算过程如下
b&c=2
,计算过程如下
或运算符:|
|
表示或运算符
,运算规则:两个操作数中位只要有一个为1,结果就为1,否则结果为0
a|b=3
,计算过程如下
非运算符:~
~
表示非运算符
,运算规则:即在0与1进行取反,如操作数中位为1,那么结果就为0,反之,如果操作数中位为0,则结果为1
~a=-2
异或运算符:^
^
表示非运算符
,运算规则:两个操作数的位中,相同则结果为0,不同则结果为1
a^c=-2