3-1 迴圈結構

迴圈結構是重複執行某些陳述式。

一、for陳述式

語法:

for(init;condition;next)

statement(s);

功能:重複執行某些陳述式(statement)多次。

說明:

1. init:初始化運算式會被執行一次(只有一次)

2. condition:是關係運算式或邏輯運算式。當condition(條件式)true()時,會執行陳述式(statement)一次,若conditionfalse(),結束for陳述式。

3. next:當statement(陳述式)被執行後,next運算式也會被執行一次,然後再評估condition(條件式),決定是否再執行statement(陳述式)一次。

 


輸出1020之間,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)會被執行,conditionfalse結束while陳述式。

說明:

1. 當第一次condition(條件式)false時,statement(陳述式)即不會被執行。

2. 如果condition(條件式)一直為true,則statement(陳述式)會被執行無數次。但Flash執行迴圈15秒後,會自動停下來詢問是否要繼續執行迴圈。

 

 

812最小公倍數

程式:

01

02

03

04

05

06

07

08

i=1;

while(true){

if(i%8 == 0 && i%12 == 0){  // i能被812同時整除才輸出

trace("812的最小公倍數是" + i) ;

break;

}

i++;

}

結果:

 

 

 

 


三、dowhile陳述式

語法:

do{

    statement(s);

} while(condition);

功能:

先執行陳述式(statement)一次,然後再評估條件式(condition),若                     

conditiontrue,再執行statement一次,conditionfalse時,結束dowhile陳述式。

四、continue陳述式

語法:continue

功能:跳過最內層迴圈中其餘陳述式,立即執行下一個迴圈。

 

 

輸出1020之間,即不是2的倍數,也不是3的倍數

程式:

01

02

03

04

05

06

07

08

09

i=10;

do{

if(i%2 == 0 || i%3 == 0){

i++;

continue;             // i能被23整除不輸出

}

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); 相同。