&& 與 || 具備 短路求值 特性:
&&:左運算元為 false → 整體為 false,**跳過右運算元求值**||:左運算元為 true → 整體為 true,**跳過右運算元求值**(percent >= 0) && (percent <= 100)
// percent < 0 時,左側為 false,右側不求值
(percent < 0) || (percent > 100)
// percent < 0 時,左側為 true,右側不求值
將簡單、易計算的運算式放左邊,複雜運算式放右邊。許多情況下可避免求值複雜運算式,提升效能。
| 類別 | 運算子 | 描述 | 結合性 |
|---|---|---|---|
| 主要 | () ++ -- | 覆蓋優先序、後遞增減 | 左 |
| 一元 | ! + - ++ -- | 邏輯非、正負號、前遞增減 | 左 |
| 乘法 | * / % | 乘、除、求餘 | 左 |
| 加法 | + - | 加、減 | 左 |
| 關係 | < <= > >= | 小於、小於等於、大於、大於等於 | 左 |
| 相等 | == != | 等於、不等於 | 左 |
| 條件 AND | && | 邏輯與 | 左 |
| 條件 OR | || | 邏輯或 | 左 |
| 指派 | = | 指派 | 右 |
同類別優先序相同,高類別優先於低類別。括號可覆蓋優先序並提升可讀性。