基礎觀念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 步(甄試很愛考這種「跑幾次會變什麼」的題目):

第幾次isum(執行後)
110 + 1 = 1
221 + 2 = 3
333 + 3 = 6
.........
1001005050

🎯 目標

  • 能寫出 for 迴圈的三個部分,並解釋各自的功能
  • 能分辨什麼情況該用 for、什麼情況該用 while
  • 能手動追蹤迴圈跑幾次之後,變數的值會變成什麼

📝 重點筆記

  • for 的模板:初始化 → 條件 → 每次更新(i++)
  • while 的模板:先檢查條件 → 成立就執行 → 一定要讓條件有機會變成不成立
  • 累加的公式:先準備一個「總和箱」(初始值通常是 0),每次迴圈把新的值加進去

✍️ 小練習

  1. for 迴圈印出 1 到 10 的每一個數字
  2. while 迴圈算出 1 加到 50 的總和
  3. 追蹤這段程式碼,最後 sum 是多少?
let sum = 0;
for (let i = 1; i <= 3; i++) {
  sum += i * 2;
}