關鍵字:

continue:會回到最內層迴圈頂端,繼續執行

break:中斷內層迭代,回到外層迭代

continue labeled:會同時中斷內層和外層迭代,直接回到label,此時迭代繼續進行,但卻從外層迭代重新開始

break label:跳脫一切約束,移至label,但不會再度進入迭代 同時中斷了內外層迭代

 

 

 


/*Output:

i=0
continue inner
i=1
continue inner
i=2
continue
i=3
break
i=4
continue inner
i=5
continue inner
i=6
continue inner
i=7
continue outer
i=8
break outer

*/

 

此例中,break會跳出for迴圈,由於沒有經歷一次完整的迭代,所以迴圈的累進運算不會發生

正因為break會略過累進運算式,為了彌補,在i==3時的情況下直接將i加1

當i==7時,continue outer敘述也會跳回迴圈頂端,也會略過累進動作

所以在i=7時直接將i加1

 

下面這個例子是示範while迴圈中將break和continue搭配label來使用

 

/*output:

Outer while loop
i=1
continue
i=2
i=3
continue outer
Outer while loop
i=4
i=5
break
Outer while loop
i=6
i=7
break outer

*/

 

arrow
arrow
    創作者介紹
    創作者 Mark Zhang 的頭像
    Mark Zhang

    讀處

    Mark Zhang 發表在 痞客邦 留言(0) 人氣()