天天看點

java continue goto_Java中goto和break、continue實作差別

回顧break

break在任何循環語句的主體部分,均可用 break控制循環的流程。break用于強行退出循環,不執行循環中剩餘的語句。(break語句在switch語句中的使用過)

public class Test {

public static void main(String[] args){

int i = 1;

// 通過while循環對i的值進行循環增加

while (i < 100){

System.out.println("此時i的值是:"+i);

i++;

if (i==30){

// 通過if判斷,如果i等于30時,跳出循環

break;

}

}

System.out.println("跳出循環i的值是:"+i);

}

}

![]()

了解continue

用在循環語句體中,用于終止某次循環過程,即跳過循環體中尚未執行的語句,接着進行下一次是否執行循環的判定

public class Test {

public static void main(String[] args){

int i = 0;

// 通過while循環對i的值進行循環增加

while (i < 10){

i++;

if (i==3){

// 如果i等于3時,使用continue終止此次循環,開啟下一次循環

continue;

}

System.out.println("此時的值是:"+i);

}

System.out.println("程式結束");

}

}

![]()

可以看到當i等于3時終止了那次循環。但是并沒有和break一樣跳出循環,而是繼續做下一次循環

break 和 continue的差別

![]()

了解goto

goto關鍵字很早就在程式設計語言中出現,盡管goto仍是Java的一個保留字,但并未在語言中得到正式使用。

Java沒有goto。然而,在break和continue這兩個關鍵字身上,我們仍然能看出一些goto的影子—帶标簽的break和continue。

“标簽”是指後面跟着一個冒号的辨別符,例如:lable:

對Java來說唯一用到标簽的地方是在循環語句之前。而在循環之前設定标簽的唯一理由是:我們希望在其中嵌套另一個循環,由于break和continue關鍵字通常隻中斷目前循環,但若随同标簽使用,它們就會中斷到存在标簽的地方

public class Test {

public static void main(String[] args){

//列印50~100之間的質數

outer: for (int i = 50; i <= 100; i++) {

for (int j = 2; j <= i / 2; j++) {

if (i % j == 0) {

continue outer;

}

}

System.out.println(i);

}

}

}

![]()

總結

在循環語句和switch語句中常用的是break,循環語句中常用的是continue;

goto語句我不知道具體重要性,但是可以了解。