基礎程式設計(Java)· CH5
for · do-while · switch · 邏輯運算子 · 導覽地圖
完整內容看 PDF 講義,動手追蹤與試跑看 index。
骨架
CH4 學 while;本章補其餘重複與選擇,並用邏輯運算子組合多條件。
重複
for (int i = 1; i <= 10; i++) {
// 初始化; 條件; 更新
sum += i;
}
① 初始化做一次 → ② 檢查條件 →(真)迴圈體 → ③ 更新 → 回 ②。三格用分號分隔。
重複
int i = 1;
do {
System.out.print(i + " ");
i++;
} while (i <= 5); // 結尾分號別漏
條件在尾巴 → 迴圈體至少執行一次,與 while 的差別就在這。
選擇
switch (level) {
case 9: System.out.println("A"); break;
case 8: System.out.println("B"); break;
default: System.out.println("F");
}
每個 case 末要 break,漏了會貫穿到下個 case;default 處理都不符。
跳轉
for (int i=1; i<=10; i++) {
if (i==5) continue; // 跳過 5
if (i==8) break; // 到 8 結束
System.out.print(i+" ");
} // 1 2 3 4 6 7
運算子
| a | b | a&&b | a||b | !a |
|---|---|---|---|---|
| T | T | T | T | F |
| T | F | F | T | F |
| F | T | F | T | T |
| F | F | F | F | T |
短路:&& 左假就不看右、|| 左真就不看右。優先序 ! > && > ||。
應用
if (s != null && s.length() > 0) // 左假則右不算,避 NPE
System.out.println(s);
for (int i=1; i<=9; i++) // 外
for (int j=1; j<=9; j++) // 內:共跑 9×9=81 次
System.out.printf("%d*%d=%d ", i, j, i*j);
巢狀內層敘述執行「外圈數 × 內圈數」次。
接下來