if語句使用break、continue和return區別


if語句

if語句分別使用return、continue、break的區別

  1. 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聲明返回類型為空時,應使用這種格式,不返回任何值。
  1. 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語句使流程跳出本層循環體,從而提前結束本層循環
  1. 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之后,第一層、第二層、第三層會停止執行


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM