天天看點

運算符總結

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作為結果。