Java運算子_算術_邏輯_位運算子_擴充套件運算子
阿新 • • 發佈:2019-02-02
二元操作符型別提升問題
- 整數運算
- 如果兩個運算元有一個為long,則結果也為long
- 沒有long時,結果為int,即使運算元全為byte,short,結果也是int
- 浮點運算
- 兩個運算元有一個為double,則結果為double
- 只有兩個運算元全是float,結果才是float
一元操作符
int a = 3;
int b = a++; //先賦值,後自增
int c = ++a; //先自增,再賦值
布林邏輯表達符
- 邏輯與:&&
- 邏輯或: ||
- 邏輯非:!
邏輯與和邏輯或採用短路的方式,從左向右執行,如果確定值,則不再計算下去。
boolean = 1>2&&2>(3/0); // &&沒有拋異常,沒有執行3/0
位運算子
- ~ 取反
- & 按位與
- | 按位或
- ^ 按位異或
- << 左移 移動一位相當於乘2
- 右移<< 相當於除2
字串連線符
System.out.println(3+"4"); //輸出34
三目條件運算子
s = x?y:z
x為Boolean型別表示式,如x為true,則s = y,賦值s = z
int a2 = 2;
int b2 = 3;
String str = "";
str = (a2>b2)?"a2" :"b2";
System.out.println(str);