尚未建立名稱
能量:0
我的帳號中心
問 學Bot 任何問題!
首頁&搜尋
最愛&收藏
所有課程
分享資源
帳號設定
關於學呀
線上募款
章節設定
章節名稱
章節類別
章節標籤
或者建立新標籤
章節內容
全螢幕編輯與預覽
# 什麼是 for? ![](https://code.org/curriculum/course4/8/vocab.png) 在上一個章節裡,我們瞭解了迴圈的概念。迴圈主要分成兩個種類,一個是 `for`,另一個是 `while`。當然,還有不同種類的迴圈,但在此我們先介紹 `for` 迴圈。 ::: suggestion 這個章節的重點,在於帶領讀者理解物件導向的概念,而非介紹單一個程式語法。此章節的程式語法和 JavaScript 等程式語言相近,但並非任何真實程式語言。請專注於章節中的概念部分,而非語法部分。 ::: ## 開始 - 結束 - 遞增 `for` 迴圈的長相就跟之前學過的 `if` 很像: ``` if(condition){ do_something(); } for(){ do_something(); } ``` 除了功能上的差別之外, `for` 與 `if` 最大的差別在於,它們括號 `()` 內放的東西很不一樣。**在** `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 裡是如何作用的: ::: youtube s9wW2PpJsmQ ::: ::: translation loop 迴圈 repeat 重複 initial 初始的 initialize 初始化 condition 條件 increment 加 odd number 奇數 reverse 顛倒 ::: ## 想想看 影片中迴圈的起始值是什麼?迴圈的終點是什麼?而他是如何把迴圈倒過來的?
儲存章節
前往實際頁面