天天看點

python break和continue_break和continue

無論是while循環還是for循環,有兩個特别的語句可以使用,就是break語句和continue語句。

break

在循環過程中,可以使用break語句跳出目前循環。我們來看一個例子:

// break

----

public class Main {

public static void main(String[] args) {

int sum = 0;

for (int i=1; ; i++) {

sum = sum + i;

if (i == 100) {

break;

}

}

System.out.println(sum);

}

}

使用for循環計算從1到100時,我們并沒有在for()中設定循環退出的檢測條件。但是,在循環内部,我們用if判斷,如果i==100,就通過break退出循環。

是以,break語句通常都是配合if語句使用。要特别注意,break語句總是跳出自己所在的那一層循環。例如:

// break

----

public class Main {

public static void main(String[] args) {

for (int i=1; i<=10; i++) {

System.out.println("i = " + i);

for (int j=1; j<=10; j++) {

System.out.println("j = " + j);

if (j >= i) {

break;

}

}

// break跳到這裡

System.out.println("breaked");

}

}

}

上面的代碼是兩個for循環嵌套。因為break語句位于内層的for循環,是以,它會跳出内層for循環,但不會跳出外層for循環。

continue

break會跳出目前循環,也就是整個循環都不會執行了。而continue則是提前結束本次循環,直接繼續執行下次循環。我們看一個例子:

// continue

----

public class Main {

public static void main(String[] args) {

int sum = 0;

for (int i=1; i<=10; i++) {

System.out.println("begin i = " + i);

if (i % 2 == 0) {

continue; // continue語句會結束本次循環

}

sum = sum + i;

System.out.println("end i = " + i);

}

System.out.println(sum); // 25

}

}

注意觀察continue語句的效果。當i為奇數時,完整地執行了整個循環,是以,會列印begin i=1和end i=1。在i為偶數時,continue語句會提前結束本次循環,是以,會列印begin i=2但不會列印end i = 2。

在多層嵌套的循環中,continue語句同樣是結束本次自己所在的循環。

小結

break語句可以跳出目前循環;

break語句通常配合if,在滿足條件時提前結束整個循環;

break語句總是跳出最近的一層循環;

continue語句可以提前結束本次循環;

continue語句通常配合if,在滿足條件時提前結束本次循環。