3-1 迴圈結構
迴圈結構是重複執行某些陳述式。
一、for陳述式
語法:
for(init;condition;next){
statement(s);
}
功能:重複執行某些陳述式(statement)多次。
說明:
1. init:初始化運算式會被執行一次(只有一次)。
2. condition:是關係運算式或邏輯運算式。當condition(條件式)為true(真)時,會執行陳述式(statement)一次,若condition為false(假),結束for陳述式。
3. next:當statement(陳述式)被執行後,next運算式也會被執行一次,然後再評估condition(條件式),決定是否再執行statement(陳述式)一次。
輸出10到20之間,3的倍數
結果:
程式:
01 02 03 04 05 |
for( i = 10; i <= 20; i++ ){ if( i % 3 == 0 ) { // i能被3整除才輸出 trace( i ); } } |
解說:
1. 程式左邊行號為程式說明用,實際程式不可以輸入。
二、 while陳述式
語法:
while(condition){
statement(s);
}
功能:
當條件式(condition)為true陳述式(statement)會被執行,condition為false結束while陳述式。
說明:
1. 當第一次condition(條件式)為false時,statement(陳述式)即不會被執行。
2. 如果condition(條件式)一直為true,則statement(陳述式)會被執行無數次。但Flash執行迴圈15秒後,會自動停下來詢問是否要繼續執行迴圈。
找8與12最小公倍數
程式:
01 02 03 04 05 06 07 08 |
i=1; while(true){ if(i%8 == 0 && i%12 == 0){ // i能被8與12同時整除才輸出 trace("8與12的最小公倍數是" + i) ; break; } i++; } |
結果:
三、do…while陳述式
語法:
do{
statement(s);
} while(condition);
功能:
先執行陳述式(statement)一次,然後再評估條件式(condition),若
condition為true,再執行statement一次,condition為false時,結束do…while陳述式。
四、continue陳述式
語法:continue;
功能:跳過最內層迴圈中其餘陳述式,立即執行下一個迴圈。
輸出10到20之間,即不是2的倍數,也不是3的倍數
程式:
01 02 03 04 05 06 07 08 09 |
i=10; do{ if(i%2 == 0 || i%3 == 0){ i++; continue; // i能被2或3整除不輸出 } trace(i); i++; }while(i<=20) |
結果:
五 this
語法:this[string]
功能:將string 轉為識別名稱。
說明:
1. 識別名稱可以為變數名稱或實體名稱。
2. 利用可以產生類似陣列效果。
利用 this 將三個變數的內容輸出
程式:
01 02 03 04 05 06 |
num1=5; num2=-12; num3=17; for(i=1;i<=3;i++){ trace(this["num"+i]); } |
結果:
解說:
1. trace(this[“num”+1]
); 與trace(num1); 相同。
2. trace(this[“num”+2]
); 與trace(num2); 相同。
3. trace(this[“num”+1]
); 與trace(num3); 相同。