運算符
- 分割符: , ; [] ()
- 算數運算符: + - * / % ++ --
- 關系運算符: > < >= <= == !=
- 邏輯運算符: ! & | ^ && ||
- 賦值運算符: =
- 擴展賦值運算符: += -= *= /=
- 三目運算符: ? :
- 字符串連接運算符: +
“+” 和 “-” 運算符還可以作為數據的正負符號。
&&:短路與,只要其中一個表達式或方法的值為false,那么結果就為false,且不執行之后的操作。
||:短路或,只要其中一個表達式或方法的值為true,那么結果就為true,且不執行之后的操作。
short s = 10; //錯誤,s為short,1默認為int,先把右邊s轉換為int再相加,結果為int //s = s + 1; //錯誤 s = (short)(s + 1); //正確 s += 1; //正確,等同於 s = (short)(s + 1);
三目運算符:
x ? y : z x為boolean類型,若x為true,則表達式結果為y,否則為z
字符串連接符:只要“+”任意一邊出現字符串,“+”就表示字符串連接符
- 運算符“+”用於數值類型數據,是加法運算符
例:"abd" + "de" 結果:"abcde"
- 用於字符串李類型(String),是連接符
- 字符串+數值,Java會自動將數值轉換成字符串,然后連接成新字符串
例:"12" + 34 結果:"1234"
System.out.println(12+34+""); //"46" System.out.println(""+12+34); //"1234"
運算符的優先級
- 除了單目運算符、賦值運算符和條件運算符,其他的運算符都是從左到右結合的。
- 運算符優先級口訣:非、算、關、與或、賦
- 下表為優先級順序,優先級高的在上部,同一行優先級相同
運算符說明 |
Java運算符 |
分割符 |
. [] () , ; |
單目運算符 |
+ - ~ ! ++ -- |
創建或類型轉換 |
new (type) |
乘法/除法 |
* / % |
加法/減法 |
+ - |
關系 |
< <= >= > instanceof |
等價 | == != |
按位與 |
& |
按位異或 | ^ |
按位或 | | |
條件與 | && |
條件或 | || |
條件 |
? : |
賦值 | = |