if語句
if語句分別使用return、continue、break的區別
- return
public static void main(String[] args) {
System.out.println("start");
for (int i = 0; i < 10; i++) {
if (i == 2){
return;
}
System.out.println(i);
}
System.out.println("end");
}
//執行結果
start
0
1
總結:
- return會結束循環,后面的語句不會執行
- return 從當前的方法中退出,返回到該調用的方法的語句處,繼續執行
- return 返回一個值給調用該方法的語句,返回值的數據類型必須與方法的聲明中的返回值的類型一致,可以使用強制類型轉換來是數據類型一致
- return 當方法說明中用void聲明返回類型為空時,應使用這種格式,不返回任何值。
- break
public static void main(String[] args) {
System.out.println("start");
for (int i = 0; i < 10; i++) {
if (i == 2){
break;
}
System.out.println(i);
}
System.out.println("end");
}
//執行結果
start
0
1
end
- break結束循環,后面的語句會執行
- 只能在循環體內和switch語句體內使用break語句。
- 當break出現在循環體中的switch語句體內時,其作用只是跳出該switch語句體。
- 當break出現在循環體中,但並不在switch語句體內時,則在執行break后,跳出本層循環體。
- 在循環結構中,應用break語句使流程跳出本層循環體,從而提前結束本層循環
- continue
public static void main(String[] args) {
System.out.println("start");
for (int i = 0; i < 10; i++) {
if (i == 2){
continue;
}
System.out.println(i);
}
System.out.println("end");
}
//執行結果
start
0
1
3
4
5
6
7
8
9
end
- continue會結束本次判斷的循環,跳入下一個循環
- 其作用是結束本次循環,即跳過本次循環體中余下尚未執行的語句,接着再一次進行循環的條件判定。
- 注意:執行continue語句並沒有使整個循環終止。在while和do-while循環中,continue語句使得流程直接跳到循環控制條件的測試部分 ,然后決定循環是否繼續進行。
- 在for 循環中,遇到continue后,跳過循環體中余下的語句,而去對for語句中的“表達式3”求值,然后進行“表達式2”的條件測試,
最后根據“表達式2”的值來決定for循環是否執行。在循環體內,不論continue是作為何種語句中的語句成分,都將按上述功能執行,這點與break有所不同
public class MySet2 {
public static void main(String[] args) {
fun();
}
private static void fun() {
System.out.println("函數要執行了......");
for (int i = 0; i < 5; i++) {
if (i == 2){
break;
}
System.out.println(i);
}
System.out.println("函數要停止了......");
}
}
第一次使用break
執行結果為:
函數要執行了......
0
1
函數要停止了......
從結果中看到當使用break時,if語句執行了三次,當到第三次i的值等等於2了,那么就會執行break,開始執行break后就直接終止了for循環,for循環結束后會繼續執行下面的代碼,也就是 函數要停止了......
整個循環從外到里共三層,第一層是fun()函數,第二層是for循環,第三層是if判斷
if語句中使用break后,第二層和第三層會停止執行,第一層會繼續執行
第二次使用continue
執行結果為:
函數要執行了......
0
1
3
4
函數要停止了......
從結果中看到當使用continue時,if語句執行了一次,當i的值等等於2時,就結束了if判斷,並且不會執行,但是for循環還是會繼續執行,也就是說if是一次性代碼,只要滿足i的值等等於2,它就會執行,執行后下次就在for循環內就不會執行第二次
整個循環從外到里共三層,第一層是fun()函數,第二層是for循環,第三層是if判斷
當if使用了continue之后,第三層會停止執行,第一層和第二層繼續執行未完成的工作
第二次使用return
函數要執行了......
0
1
從結果看,使用return語句時,if會停止執行,for循環會停止執行,函數也會停止執行
整個循環從外到里共三層,第一層是fun()函數,第二層是for循環,第三層是if判斷
當if使用了return之后,第一層、第二層、第三層會停止執行
