程式語言一 · 導覽投影片
→ / space 前進 ← 回 Esc 總覽 F 全螢幕| 類別 | 運算子 | 結果 |
|---|---|---|
| 算術 | + - * / % | 數值(/ 整數會截斷) |
| 關係 | == != > < >= <= | 1 或 0 |
| 邏輯 | && || ! | 1 或 0(非零=真) |
| 遞增遞減 | ++ -- | 變數 ±1 |
關係與邏輯的結果是整數,可以繼續當數字算。
7 / 3 = 2(整數截斷,要小數用 7.0/3)。% 取餘數、只能用整數。
n % 2、取個位 n % 10、循環 i % 3int x = 5;
if (x = 3) ... // 指派!回傳 3(非零=真)→ 永遠執行
==(兩個等號)。防禦寫法 if (3 == x),誤寫 `=` 會編譯錯。另:3 > 2 > 1 不是連續比較(由左到右算得 0),要寫 3>2 && 2>1。&& 全真才真、|| 有真就真、! 反轉。
if (x != 0 && 10/x > 2) // x==0 時右邊不算 → 不會除以零
短路求值:左邊已能決定結果,右邊不執行。不只省效能,更是安全機制(避免除以零、空指標)。
int i=5, a=i++; // a=5(先用舊值),之後 i=6
int j=5, b=++j; // b=6(先加再用),之後 j=6
單獨一行兩者相同;放在運算式裡值差很多。
* / % > + - > 關係 > && > || > 指派。
混合型別自動提升:int + double → double。不確定就加括號,可讀又安全。