2012年4月14日星期六

TJS教學---break and continue,break與continue

(k ゚∀゚)<之前我們介紹了三種迴圈,分別是while、for和do-while迴圈,這些迴圈都可以處理不少常見迴圈的情況,不過有時候我們中途想離開迴圈或跳到下一次迴圈,這時我們可利用break與continue來控制。

break? 之前介紹switch時不是有提及過? 我記得是用來離開switch的。>( ゚ω゚ s)

(k ゚∀゚)<對呀,而在迴圈裡,break是用來立刻離開最接近的迴圈,以下是範例。

var message="";
for(var count=0;count<10;count++){
  if(count==5)
    break;
  message+=count+" ";
}
System.inform(message);










(k ゚∀゚)<在上述的範例裡,當count的值是5,break就被執行,並且離開迴圈,所以只會顯示到0至4的數字。

我在意你說break會立刻離開最接近的迴圈,何謂最接近的迴圈?>( ゚ω゚ s)

(k ゚∀゚)<最接近的迴圈是指break上方看到最接近的迴圈,看看以下的範例。

var message="";
for(var row=1;row<10;row++){
  for(var col=0;col<10;col++){
    if(col==5)
      break;
    message+=col+" ";
  }
  message+="\n";
}
System.inform(message);















(k ゚∀゚)<在上述的範例裡,當col的值是5,break就被執行,並且離開內部的迴圈,不過外部的迴圈並不會離開。

(k ゚∀゚)<continue則是馬上執行下一次迴圈,看看以下的範例。

var message="";
for(var count=0;count<10;count++){
  if(count==5)
    continue;
  message+=count+" ";
}
System.inform(message);










(k ゚∀゚)<在上述的範例裡,當count的值是5,continue就被執行,並且馬上執行下一次迴圈,則不會message+=col+" "這一句,所以結果會顯示到0至4、6至9的數字,缺少了5這數字。

原來如此!>( ゚ω゚ s)

(k ゚∀゚)<再看看以下的範例。

var message="";
for(var count=0;count<10;count++){
  if(count==5)
    continue;
  if(count==8)
    break;
  message+=count+" ";
}
System.inform(message); 

唔……結果是不是顯示"0 1 2 3 4 6 7"?>( ゚ω゚ s)

(k ゚∀゚)<是的,當count的值是5,continue就被執行,所以沒有5這數字,當count的值是8,break就被執行,並離開迴圈,所以數字只會顯示到7就停下來,以下是結果。










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

沒有留言:

發佈留言