1. 程式人生 > >Java運算子_算術_邏輯_位運算子_擴充套件運算子

Java運算子_算術_邏輯_位運算子_擴充套件運算子

二元操作符型別提升問題

  • 整數運算
    1. 如果兩個運算元有一個為long,則結果也為long
    2. 沒有long時,結果為int,即使運算元全為byte,short,結果也是int
  • 浮點運算
    1. 兩個運算元有一個為double,則結果為double
    2. 只有兩個運算元全是float,結果才是float

一元操作符

int a = 3;
int b = a++; //先賦值,後自增
int c = ++a; //先自增,再賦值

布林邏輯表達符

  1. 邏輯與:&&
  2. 邏輯或: ||
  3. 邏輯非:!

邏輯與和邏輯或採用短路的方式,從左向右執行,如果確定值,則不再計算下去。

boolean
= 1>2&&2>(3/0); // &&沒有拋異常,沒有執行3/0

位運算子

  1. ~ 取反
  2. & 按位與
  3. | 按位或
  4. ^ 按位異或
  5. << 左移 移動一位相當於乘2
  6. 右移<< 相當於除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);