| break可以離開目前switch、for、while、do while的區塊,並前進至區塊後下一個陳述句,在switch中主要用來結束陳述句進行至下一個case的比對,在for、while與do while中,主要用於中斷目前的迴圈執行,break的例子之前看過不少,這邊不再舉例。 continue的作用與break類似,主要使用於迴圈,所不同的是break會結束區塊的執行,而continue只會結束接下來區塊中的陳述句,並跳回迴圈區塊的開頭繼續下一個迴圈,而不是離開迴圈,例如: for(int i = 1; i < 10; i++) {
if(i == 5) break; System.ut.println("i = " + i); } 這段程式會顯示i = 1到4,因為當 i 等於5時就會執行break而離開迴圈,再看下面這個程式: for(int i = 1; i < 10; i++) {
if(i == 5) continue; System.out.println("i = " + i); } 這段程式會顯示1到4,與6到9,當 i 等於5時,會執行continue直接結束此次迴圈,這次迴圈System.out.println()該行並沒有被執行,然後從區塊開頭頭執行下一次迴圈,所以5並沒有被顯示。 break與continue還可以配合標籤使用,例如本來break只會離開for迴圈,設定標籤與scope,則可以離開整個scope,舉個簡單的例子:
public class BreakTest {
back是個標籤,當break back;時,返回至back標籤處,之後整個back區塊不執行而跳過,所以這個程式System.out.println("test");不會被執行。 事實上continue也有類似的用法,只不過標籤只能設定在for之前,例如:
public class ContinueTest {
continue配合標籤,可以自由的跳至任何一層for迴圈,您可以試試continue back1與continue back2的不同,設定back1時,System.out.println("test");不會被執行。 |