for迴圈
 課程目錄
 編輯章節
 EDU-MD
 Google 教室
 加至書籤

什麼是 for?


在上一個章節裡,我們瞭解了迴圈的概念。迴圈主要分成兩個種類,一個是 for,另一個是 while。當然,還有不同種類的迴圈,但在此我們先介紹 for 迴圈。

這個章節的重點,在於帶領讀者理解物件導向的概念,而非介紹單一個程式語法。此章節的程式語法和 JavaScript 等程式語言相近,但並非任何真實程式語言。請專注於章節中的概念部分,而非語法部分。

開始 - 結束 - 遞增

for 迴圈的長相就跟之前學過的 if 很像:

if(condition){
    do_something();
}

for(){
    do_something();
}

除了功能上的差別之外, forif 最大的差別在於,它們括號 () 內放的東西很不一樣。 for 的括號裡 () ,放的是一些告訴電腦要重複幾次迴圈的指令。讓我們先用 for 迴圈印出「 hello 」十次:

for(from 1 to 10){
    print("hello");
}

在這個 for 迴圈的括號裡,我們告訴電腦要從數字 1 跑到數字 10,也就是總共跑 10 次的意思。當然,你也可以改變寫法:

for(from 2 to 11){
    print("hello")
}

這樣一樣會印出十次,因為 2 到 11 共有 10 個數字。

括號裡的變數

現在讓我們練習一個比較難的題目:從數字 1 印到數字 30。

for(from 1 to 30 with i){
    print(i);
}

雖然看起來有點小複雜,但是仔細看, from 1 to 30 好像跟剛才的例子有點像:從 1 到 30 共 30 個數字,所以這個迴圈會重複 30 次。那麼, with i 又是什麼意思?

其實, with i 就是叫電腦建立一個變數叫做 i 。當迴圈執行第 1 次時,i = 1;當迴圈執行第 2 次時,i = 2;當迴圈執行第 30 次時,i = 30;依此類推。因此,迴圈第 1 圈時,print( i ) 會印出 1;迴圈第 2 圈時,print(i) 會印出 2;就這樣一路印到 30。

長得不一樣的 for

上面的範例程式碼裡, for 的是為了讓大家好懂一點才長那樣的。在大多數的程式語言中, for 的長相比較類似於:

for(i = 1; i <= 10; i += 1){
    print(i);
}

啥?這又是什麼?這個迴圈一樣會重複 10 次。其中,i = 1 就相當於剛才的 with i 。而 i = 1; i <= 10; i += 1 整句話的意思,就是讓電腦建立一個變數「i」,並將其值設為 1 ;接著每次迴圈時 i 的值都增加 1;並且重複這個迴圈直到「i <= 10」不成立為止

現在你可能感到一頭霧水,帶其實只要把這段程式拿去與前面的程式多比較幾次,你就會發現它們的概念是相同的。

真正的程式語言…

這個課程的重點不在教導大家一個特定的程式語言,而是將這些基本概念介紹給大家。讓我們看看 for 迴圈在 JavaScript 裡是如何作用的:

loop  迴圈
repeat  重複
initial  初始的
initialize  初始化
condition  條件
increment  加
odd number  奇數
reverse  顛倒

想想看

影片中迴圈的起始值是什麼?迴圈的終點是什麼?而他是如何把迴圈倒過來的?

 均一平台
 台達磨課師
 酷課雲
 可汗學院
無相關資源
 收起側邊目錄
 
前往目錄頁面