2012年4月6日星期五

TJS教學---for loop,for 迴圈

(k ゚∀゚)<上次我們介紹了while迴圈,今次我們則介紹for迴圈,先看看以下的用法。

for(初始化;條件式;更新){
    陳述句1;
    陳述句2;
}

(k ゚∀゚)<使用for迴圈的特別之處是它把迴圈的初始化、條件式和更新的部分都放在同一位置,程式碼的可讀性增加,看起來更加整齊,而且由於放在同一位置,管理也會十分方便,以下是流程圖。




















除此之外,while迴圈和for迴圈有沒有其他差別?>( ゚ω゚ s)

(k ゚∀゚)<兩者的用法也是差不多,以下是一個while迴圈的範例。

var count=1;
var message="";
while(count<=10){
    message+=count+" ";
    count++;
}
System.inform(message);

(k ゚∀゚)<上述的範例亦可以轉換for迴圈,看看以下的範例。

var count;
var message="";
for(count=1;count<=10;count++){
    message+=count+" ";
}
System.inform(message);










的確變得容易管理,放在同一位置的話就不用經常尋找它們而煩惱。>( ゚ω゚ s)

(k ゚∀゚)<跟while一樣,我們可以在for迴圈裡宣告變數,看看以下的範例。

var count;
var message="";
for(count=1;count<=10;count++){
    var result=count*2;
    message+=result+" ";
}
System.inform(message);










(k ゚∀゚)<但留意for迴圈裡宣告的變數只能迴圈裡使用,當一離開了迴圈,這變數就不存在,這意味著迴圈裡宣告的變數無法在迴圈外面使用,所以迴圈裡宣告的變數只用來進行迴圈裡的運算。

(k ゚∀゚)<除此之外,我們甚至可以在初始化的部分宣告變數,看看以下的範例。

var message="";
for(var count=1;count<=10;count++){
    message+=count+" ";
}
System.inform(message);

既然在for迴圈裡宣告,是不是也代表一離開了迴圈,這變數就不存在?>( ゚ω゚ s)

(k ゚∀゚)<是的,所以若果之後需要用到這變數的話,就不應該在迴圈裡宣告。

我有問題,若果初始化、條件式和更新這三部分缺了一兩個,可不可以用for迴圈?>( ゚ω゚ s)

(k ゚∀゚)<可以的,如果沒有的話不寫它就可以,看看以下的範例(請按住Ctrl + Alt + F12數秒,吉里吉里會強制終止)。

for(;;){
    System.inform("這就是無窮迴圈");
}

(k ゚∀゚)<在上述的範例裡,這個for迴圈並沒有初始化、條件式和更新這三部分,由於沒有條件式來離開迴圈,所以這亦是無窮迴圈。

(k ゚∀゚)<當然,我們一般都不鼓勵這麼寫,我們使用for迴圈時通常都有初始化、條件式和更新這三部分,而且初始化和更新都不會太複雜。

(k ゚∀゚)<今次介紹到這裡,下次再見。

沒有留言:

發佈留言