#運算符 JAVA語言支持入下運算符。 %:餘數 !=:不等於 &&:and ||:or !:not ##二元運算符 整數預設為int類型,按類型優先順序自動轉換,下圖說明瞭short加byte的值自動變成了int。 關係運算符返回的結果必然是布爾值 ##一元運算符 自增,自減及冪運算 a++--為先 ...
運算符
- JAVA語言支持入下運算符。
%:餘數
!=:不等於
&&:and
||:or
!:not
二元運算符
整數預設為int類型,按類型優先順序自動轉換,下圖說明瞭short加byte的值自動變成了int。
關係運算符返回的結果必然是布爾值
一元運算符
自增,自減及冪運算
a++--為先賦值後計算
++--a為先計算後賦值
冪運算,最大值,最小值等使用數學工具類計算
邏輯運算符
與(and):&& 或(or):|| 非(not):!(在if的時候會很有用)
短路運算證明瞭邏輯運算符代碼判定出現結果後就不會繼續執行後續操作。
位運算符
- &、|、^、~
位運算為二進位的運算,關係如下所示:
A=0011 1100
B=0000 1101
A&B = 0000 1100
A|B = 0011 0010
A^B = 0011 0001
~B = 1111 0010 - <<、>>
假如我要得到16的值
那麼可以通過這樣的一串代碼來實現
public class Demo06 {
public static void main(String[] args) {
System.out.println(2<<3);
}
}
0000 0000 =0
0000 0001 =1
0000 0010 =2
0000 0011 =3
0000 0100 =4
0000 1000 =8
0001 0000 =16
2<<3指的是在二進位中2的1左移三位,因此2<<3的值為16
右移>>同理
簡單理解就是<<為乘以2,>>為除以2,2<<3=[(2X2)X2]X2=16
位運算涉及底層代碼
三元運算符:?:
x?y:z
如果x==true,則結果為y,否則為z
如圖所見,是個簡單的類似if的運算符
使操作更簡潔的賦值運算符與字元串連接符
- +=與-=
同理,a-=b即為a=a-b - 字元串連接符:""+
+之前有String類型的時候,會對數字進行轉換,視為字元連接而不是數值加減
如果是在a+b之後加上String類型則無影響
代碼會從左到右判定,會先算左邊的a+b再判定+""這個字元串連接符
優先順序
()--> 一元運算符 --> 加減乘除