基礎觀念30 min read
Day 5:讓電腦幫你做重複的事:迴圈
學會 for 與 while 兩種迴圈,搭配「1 加到 100」經典考題,practice 手動追蹤變數怎麼變化。
如果要你把 1 從喊到 100,你應該會喊到懷疑人生。但電腦最擅長做的事,就是不喊累地一直重複。這是 13 天轉職甄試衝刺大綱的 Day 5。
📅 前言:電腦不會累,交給它重複就好
人類重複做一件事會累、會分心、會出錯。電腦不會——只要你把「重複的規則」講清楚,它就會不厭其煩地照著做,而且做得又快又準。今天要學的「迴圈」,就是教電腦「重複做某件事」的語法。
⏳ 第 1~15 分鐘:程式怎麼數數:for 迴圈
for 迴圈有三個部分,可以想成「跑步比賽的規則」:
- 初始化(起跑點): 從哪裡開始?
- 條件(終點線): 什麼情況下繼續跑?
- 更新(每一步): 每跑完一圈,發生什麼變化?
for (let i = 1; i <= 5; i++) {
console.log(i);
}
// 依序印出:1 2 3 4 5
💡 生活比喻: 想像你在發傳單,
i = 1是「從第 1 張開始」,i <= 5是「發到第 5 張為止都要繼續」,i++是「發完一張,手上的張數加 1」。
⏳ 第 16~25 分鐘:先檢查再做:while 迴圈
while 迴圈的邏輯是:「先檢查條件成不成立,成立就做,做完再檢查一次,直到條件不成立為止」。
let i = 1;
while (i <= 5) {
console.log(i);
i++;
}
⚠️ 新手最大陷阱:無限迴圈。 如果你忘記寫
i++,條件永遠是 true,程式就會卡死不停重複,直到當機或被強制關閉。使用while時,一定要確保迴圈內有某個動作,能讓條件「有機會」變成不成立。
for 跟 while 怎麼選?
- 知道「明確要跑幾次」➔ 用
for(例如:印出 1 到 100)。 - 不確定要跑幾次,要「跑到某個條件被滿足為止」➔ 用
while(例如:一直問密碼,直到答對為止)。
⏳ 第 26~30 分鐘:經典考題:用迴圈計算 1 加到 100
這是甄試最愛出的題目之一,概念是:準備一個「總和箱」(sum),每跑一次迴圈,就把當下的數字丟進箱子裡加起來。
let sum = 0;
for (let i = 1; i <= 100; i++) {
sum = sum + i; // 也可以寫成 sum += i;
}
console.log(sum); // 5050
手動追蹤前 3 步(甄試很愛考這種「跑幾次會變什麼」的題目):
| 第幾次 | i | sum(執行後) |
|---|---|---|
| 1 | 1 | 0 + 1 = 1 |
| 2 | 2 | 1 + 2 = 3 |
| 3 | 3 | 3 + 3 = 6 |
| ... | ... | ... |
| 100 | 100 | 5050 |
🎯 目標
- 能寫出
for迴圈的三個部分,並解釋各自的功能 - 能分辨什麼情況該用
for、什麼情況該用while - 能手動追蹤迴圈跑幾次之後,變數的值會變成什麼
📝 重點筆記
- for 的模板:初始化 → 條件 → 每次更新(
i++) - while 的模板:先檢查條件 → 成立就執行 → 一定要讓條件有機會變成不成立
- 累加的公式:先準備一個「總和箱」(初始值通常是 0),每次迴圈把新的值加進去
✍️ 小練習
- 用
for迴圈印出 1 到 10 的每一個數字 - 用
while迴圈算出 1 加到 50 的總和 - 追蹤這段程式碼,最後
sum是多少?
let sum = 0;
for (let i = 1; i <= 3; i++) {
sum += i * 2;
}