Java基礎 之 運算子

2021-09-10 08:07:39 字數 1643 閱讀 9186

+:加法

- :減法

* :乘法

/ :除法

%:餘數

++: 自加。這個如果放在左邊,先自加1再運算;放右邊先運算再自加1。

-- :自減。同上。

比較簡單就不多說了,賦個貼圖看一下就好了。

&:位與。二進位制運算時當兩位同時為1時返回1;否則返回0。

| :位或。當兩位有一位為1時返回1。都不為1時返回0。

~ :位非。按位全部取反。

^: 位異或。當兩位相同時返回0;不通時返回1。

<

>>:右移

>>>:無符號右移,左側補0.

舉幾個例子,以int型別為例8byte32位:

a = 49:0000 0000 0000 0000 0000 0000 0011 0001

b = 15:0000 0000 0000 0000 0000 0000 0000 1111

c=5:0000 0000 0000 0000 0000 0000 0000 0101

d=-5:1111 1111 1111 1111 1111 1111 1111 1011

d>>>2 = 1073741822 : 0011 1111 1111 1111 1111 1111 1111 1110

a>>2:0000 0000 0000 0000 0000 0000 0000 1100

a<<2:0000 0000 0000 0000 0000 0000 1100 0100

a^b:0000 0000 0000 0000 0000 0000 0011 1110

~a:1111 1111 1111 1111 1111 1111 1100 1110

a|b=15: 0000 0000 0000 0000 0000 0000 0000 1111

a&b=1:0000 0000 0000 0000 0000 0000 0000 0001

這個地方比較混亂,如果有錯誤,還請指正。

>;>=;<=;

&&:邏輯與。前後必須都返回true,才能返回true。否則返回false。

&:邏輯不短路與。

||:邏輯或。前後只要有乙個返回true,就可以返回true。否則返回false。

|:邏輯不短路或。

!:邏輯非。true->false; false->true。

^:異或。兩個運算元不同時返回true。相同時返回false。

舉個例子:

x==null?"0":x.tostring();
包括++,--,~,!

今天其實本來沒想寫這個,但是今天看了一遍hashcode,直接看到map原始碼。map中應用了一些位運算子。所以還是要搞懂基礎的內容才方便看下去。所以今天先把這塊內容寫一下。方便後面理解。

Java基礎之位運算子

位運算子主要針對二進位制,它包括了 與 非 或 異或 1 與運算子 符號 其使用規律如下 如果不是二進位制數字要先轉換成二進位制再對兩個數進行比較。運算元中比較的位數如果兩個都為1,結果才為1,否則結果為0,案例 public static void main string args 2 或運算子 ...

java基礎之位運算子

處理整形型別時,可以直接對組成整型數值的各個位完成操作,這意味著可以使用掩碼技術得到整數中的各個位。位運算子包括 and or xor not 這些運算子按位模式處理。例如,如果n是乙個整數變數,而且用二進位制表示的n從右邊數第四位為1,則 int x n 0b1000 0b1000 會反回1,否則...

Java基礎複習之運算子

運算子 運算規則 範例結果 正號 33 加 2 35 連線字串 中 國 中國 負號 int a 3 a 3 減 3 12 乘 2 36 除 5 22 取模 5 21 自增 int a 1 a a 2 自減 int b 3 a a 2 注意 加法運算子在連線字串時要注意,只有直接與字串相加才會轉成字串...