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