1. 程式人生 > >do-while語句和while的區別

do-while語句和while的區別

應該 為什麽 就會 一次循環 永遠 循環 state bsp do-while

do-while語句是一種後測試循環語句,即只有在循環體中的代碼執行之後,才會測試出口條件。其實就是,代碼在剛開始執行的時候,都是要先走一遍do循環體內的代碼,然後在與while裏面的條件進行判斷,成立循環就一直繼續下去,不成立就跳出循環。循環體內代碼至少被執行一次。(肚子餓了,看到吃的先狂吃一頓,直到被發現了,就閉嘴停不吃了)

while語句是屬於前測試循環語句,也就是說,在循環體內的代碼被執行之前,就會對出口條件求值。其實就是先與while裏面的條件進行判斷,成立就走循環體內的代碼,不成立就不走循環體內代碼。循環體內的代碼有可能永遠不會執行。(肚子餓了,先問一下能不能吃東西,同意了就狂吃,直到不允許吃為止,不同意,就忍著忍著忍著不吃走了.....)

一.do-while語句

do-while語句的語法:

do{

  statement

}while(expression);

看下面示例:

var i=10;

do{

  i+=2;

}while(i<10)

alert(i) // 12 (允許你吃了,就給了你兩個蛋撻)

第一眼看10<10不成立呀,alert(i)應該彈出10才對呀,為什麽是12呢?因為在對表達式求值之前,都要先執行一遍循環體內的代碼(i+2=10+2;i=12),然後才會與出口條件進行判斷(i<10=>12<10,),成立就繼續循環,不成立就跳出循環,執行結束!

看下面示例

var i=0;

do{

 i+=2;

alert(i) // 2,4,6,8,10 只要變量小於10,循環就一直繼續下去,直到不滿足條件後寄跳出循環。(允許你吃了,連著給了你好幾個蛋撻)

}while(i<10)

二.while語句

while語句的語法:

while(expression){

  statement

}

看下面示例:

var i=10;

while(i<10){

 i+=2

 alert(i)   // 什麽都沒有 條件不成立,沒有走循壞體 (我就是不給你吃不給你吃,一個蛋撻都不給)

}

alert(i) // 10 (好吧,那我啃老去了,這個10,是全局變量i=10)

在看下面示例

var i=0;

while(i<10){

 i+=2

 alert(i)    // 2,4,6,8,10 只要變量小於10,循環就一直繼續下去,直到不滿足條件後寄跳出循環。(看你可憐,允許你吃了吧,連著給了你好幾個蛋撻)

}

while裏面的判斷條件成立,然後走循環體,直到不滿足條件後,跳出循環,執行結束。

do-while && while

do-while 語句至少執行一次循環體內的代碼;

while 條件不成立,語句永遠不會執行循環體內的代碼;

分享技術,分享快樂!

do-while語句和while的區別