1,算術運算符:
+ 加或正号
-減或負号
*乘
/除,得到的是商
%取餘
++自增
- -自減
+字元串連接配接符
注意:
A:整數相除結果還是整數
B:+ 從左向右依次運算
C:% 兩個操作數,分為左邊和右邊
左邊小于右邊,結果是左邊
左邊等于右邊,結果為0
左邊大于右邊,結果是餘數
終于的餘數的符号和左邊的操作數一直
D:++和- -
假設單獨使用:位置前後效果一樣
假設參與操作使用:放後面是先操作再++或- -。
放前面是先++或- -再操作。
2,指派運算符:
=指派
+=
-=
*=
/=
%=
A:+=運算等價于 左邊 = (左邊資料類型)(左邊+右邊)
3,比較運算符:
==:
!=:
<
>
<=
>=:
instanceof:檢查是否是類的對象
A:比較運算符的結果都是boolean型。結果是true或false。
B:注意==和=的差别。
4。邏輯運算符:
&:AND與 一假則假
|:OR或 一真則真
^:異或 同樣則false,不同則true
!:非 非真即假。非假即真
&&:AND短路 有假不再繼續 ,則為假
||:OR短路 有真不再繼續, 則 為真
注意:A:&與&&。|與||終于結果同樣
B:&&和||效率比&和|高。開發中用&&和||。
5,位運算符:
<<:左移 把資料往左移動右邊指定的位數,移出的位置用0補齊,相當于原數乘以2的移動位數次幂
>>:右移 把資料往右移動右邊指定的位數。移出的位置用最高位數值補齊,相當于除以2的移動位數次幂。
>>>:無符号右移(連同符号一起) 把資料往右移動右邊指定的位數,移出的位置用0補齊(結果沒有負數),相當于除以2的移動位數次幂。
&:與運算 有0則0
|:或運算 有1則1
^:異或運算 同樣則0。不同則1 , 對同一個數異或偶數次,該資料本身不變。
~:反碼 按位取反。的補碼,在運算出原碼即為結果
A:&,| 兩邊假設是boolean類型則是邏輯運算符,假設是數值則是位運算符。
面試題:a:用最有效率的方式計算出2乘以8。 答案:2<<3
b:将兩個數值交換,int a = 10;int b = 20
答案:方式一(面試用):a = a^b;b = a^b ; a = a ^ b;
方式二: a=a+b; b=a-b; a = a-b;
方式三: a=(a+b)-(b=a);
c:比較兩個數是否相等 答案:boolean flag =(x==y)?true:false;
方式二:boolean flag =(x==y);
6。三元運算符(條件運算符):
格式:(比較表達式)?值1:值2。
比較表達式結果是boolean類型。
運作順序:看比較表達式的值是true還是false:假設是true,就把值1作為結果;假設是false,就把值2作為結果。