java中的break、continue、return區別
阿新 • • 發佈:2018-11-09
1、break:
可以用於for迴圈等迴圈體和開關語句switch case中;
用在迴圈中時,break是指跳出當前的迴圈體,如果是巢狀迴圈的話,只能跳出離break最近的for迴圈層;例如:
public static void main(String[] args) { for (int i = 0; i<=5; i++) { if (i == 3){ System.out.println("我是3,我要跳出迴圈了,後面的都不能執行了ㄟ(⊙ω⊙ㄟ)"); break; } System.out.println(i); } }
執行結果:
0
1
2
我是3,我要跳出迴圈了,後面的都不能執行了ㄟ(⊙ω⊙ㄟ)
Java中,如何跳出當前的多重巢狀迴圈?
在最外層迴圈前加一個標記如flag,然後用break flag;可以跳出多重迴圈。
用於開關語句switch case中:break可使程式跳出switch而執行switch以後的語句;
此時分兩種情況:
1、如果滿足條件的case有break,則直接跳出switch語句;
2、如果滿足條件的case沒有break,此時又分兩種情況:
2.1、之後的case也都沒有break,就從滿足條件的那個case開始執行,直到執行完default後結束;
2.2、之後的case有一個或多個break,就從滿足條件的那個case開始執行,直到遇到break後結束;
例子1:
public static void main(String[] args) { int flag = 3; switch (flag) { case 1: System.out.println("1"); break; case 2: System.out.println("2"); break; case 3: System.out.println("flag為3,此時case為3且有break,結束switch"); break; case 4: System.out.println("4"); break; case 5: System.out.println("5"); break; default: System.out.println("default"); } }
執行結果:
flag為3,此時case為3且有break,結束switch
例子2.1:
public static void main(String[] args) {
int flag = 3;
switch (flag) {
case 1:
System.out.println("1");
break;
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
//break;
case 4:
System.out.println("4");
//break;
case 5:
System.out.println("5");
//break;
default:
System.out.println("等於3的case,沒有break,且之後的case也都沒有break,則一直執行到default才結束");
}
}
輸出結果:
3
4
5
等於3的case,沒有break,且之後的case也都沒有break,則一直執行到default才結束
例子2.2:
public static void main(String[] args) {
int flag = 3;
switch (flag) {
case 1:
System.out.println("1");
break;
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
//break;
case 4:
System.out.println("4");
//break;
case 5:
System.out.println("等於3的case,沒有break,但我有break,則執行到我這裡就結束");
break;
default:
System.out.println("default");
}
}
執行結果:
3
4
等於3的case,沒有break,但我有break,則執行到我這裡就結束
2、continue :
當只有一層迴圈時,結束當前迴圈的本次迴圈,當有迴圈巢狀時,結束本層迴圈的本次迴圈;
public static void main(String[] args) {
for (int i = 0; i<=5; i++) {
if (i == 3){
System.out.println("我是3,因為continue,只是我輸出不了,後面的仍然能執行ㄟ(⊙ω⊙ㄟ)");
continue;
}
System.out.println(i);
}
}
執行結果:
0
1
2
我是3,因為continue,只是我輸出不了,後面的仍然能執行ㄟ(⊙ω⊙ㄟ)
4
5
3、return:
跳出當前方法;
如果方法返回值是void,則直接用return;
如果方法返回值是String等型別,則需要retrun “”;
public static void main(String[] args) {
for (int i = 0; i<=5; i++) {
if (i == 3){
System.out.println("我是3,因為continue,只是我輸出不了,後面的仍然能執行ㄟ(⊙ω⊙ㄟ)");
return;
}
System.out.println(i);
}
}
執行結果:
0
1
2
我是3,因為continue,只是我輸出不了,後面的仍然能執行ㄟ(⊙ω⊙ㄟ)