2012年4月8日星期日

TJS教學---do-while loop,do-while 迴圈

之前我們嘗試利用while迴圈來確保使用者已經輸入了資料,不過我發現相同的程式碼出現了兩次,這豈不是令程式碼變得複雜了嗎?有沒有辦法解決它?>( ゚ω゚ s)

(k ゚∀゚)<由於while迴圈不一定被執行,所以我們在while迴圈前面先輸入一次,有問題的話就會進入while迴圈,要再輸入一次,就好像以下的範例。

var message=System.inputString("","請輸入名字","");
while(message === void || message == ""){
    message=System.inputString("","請輸入名字","");
}
System.inform("您的名字是"+message);

(k ゚∀゚)<這範例或許看不出來,但如果while迴圈裡有大量程式碼,重複部分就變得很多了,所以我們現在介紹do-while迴圈。

(k ゚∀゚)<while迴圈和do-while迴圈的不同之處是,while迴圈在進行迴圈之前會判斷條件式是否成立,do-while迴圈在執行迴圈本體之後才會判斷條件式是否成立,以下是其用法和流程圖。

do{
    陳述句1;
    陳述句2;
}while(條件式);




















跟while迴圈的差距好像很大。>( ゚ω゚ s)

(k ゚∀゚)<其實不是的,雖然兩者的模樣有不少差距,除了判斷條件式的位置有差別之外,while迴圈和do-while迴圈是一樣的,不過要留意do-while迴圈的while後面有分號作為結束,這是不少人會經常犯錯的部分。

(k ゚∀゚)<如果將上述的範例轉換do-while迴圈,就會好像以下的範例。

var message;
do{
    message=System.inputString("","請輸入名字","");
}while(message === void || message == "");
System.inform("您的名字是"+message);

(k ゚∀゚)<do-while迴圈的好處是迴圈本體一定被執行至少一次,這對輸入資料的動作非常有用的,因為我們檢查資料是否正確之前,必須至少輸入了資料一次,這時do-while迴圈就幫助了不少。

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

沒有留言:

發佈留言