Java的運算子 - 位運算子
阿新 • • 發佈:2020-10-13
Java的位運算子主要有4個:與(&),或(|),異或(^),非(~),除了非(~),左移(<<),右移(>>)運算子是一元運算子,其他都是二元運算子。
Java 定義的位運算是對整數型別的位進行操作,包括 long,int,short,char 和 byte。
運算子 | 名稱 | 說明 | 示例 |
& | 與 | 按位進行與運算(AND) | 4&7=4 |
或 | 按位進行或運算(OR) | 4|7=7 | |
^ | 異或 | 按位進行異或運算(XOR) | 4^7=3 |
~ | 非 | 按位進行取反運算(NOT) | ~4=-5 |
1.位與運算子(&)
位與運算子(&):參與運算的數字,低位對齊,高位不足的補零,如果對應的二進位制位同時為 1,那麼計算結果才為 1,否則為 0。因此,任何數與 0 進行按位與運算,其結果都為 0。
示例:
4&7
如下運算過程:
2.位或運算子(|)
位或運算子(|):參與運算的數字,低位對齊,高位不足的補零。如果對應的二進位制位只要有一個為 1,那麼結果就為 1;如果對應的二進位制位都為 0,結果才為 0。
示例:
4|7
運算過程:
3.位異或運算子(^)
位異或運算子(^):
,參與運算的數字,低位對齊,高位不足的補零,如果對應的二進位制位相同(同時為 0 或同時為 1)時,結果為 0;如果對應的二進位制位不相同,結果則為 1。
示例:
4^7
運算過程:
4.位取反運算子(~
)
位取反運算子(~
):只對一個運算元進行運算,將運算元二進位制中的 1 改為 0,0 改為 1。
位取反運算子單獨一個章節介紹,涉及到計算機對正、負數儲存方式的不同。
5.位左移運算子<<
位左移運算子:按二進位制形式把所有的數字向左移動對應的位數,高位移出(捨棄),低位的空位補零。
示例:
4<<2
運算過程:
6.位右移運算子>>
位右移運算子:按二進位制形式把所有的數字向右移動對應的位數,低位移出(捨棄),高位的空位補零。
示例:
4<<2
運算過程: