1. 程式人生 > >Java基礎-return、break、continue在迴圈中的作用

Java基礎-return、break、continue在迴圈中的作用

return、break、continue是迴圈控制語句中常用的三個關鍵字,它們都有終止當前語句執行的作用,但又有很大的卻別,以下是測試及分析結果。

程式碼片段一:

/**
     * 測試return在迴圈中的作用
     */
    static void TestReturn(){
        int i = 0,j = 0;
        for ( i = 0; i < 2; i++) {
            for ( j = 0; j < 2; j++) {
                System.out.println("return : 這裡是內迴圈  "
+ "i = " + i + " j = " + j); return; } System.out.println("return : 這裡是外迴圈 " + "i = " + i + " j = " + j); } System.out.println("return : 這裡是在迴圈之外"); }

輸出結果:

return : 這裡是內迴圈  i = 0 j = 0

分析:內迴圈在執行一次後,就跳出當前方法。

程式碼片段二:

/**
     * 測試break在迴圈中的作用
     */
static void TestBreak(){ int i = 0,j = 0; for ( i = 0; i < 2; i++) { for ( j = 0; j < 2; j++) { System.out.println("break : 這裡是內迴圈 " + "i = " + i + " j = " + j); break; } System.out.println("break : 這裡是外迴圈 "
+ "i = " + i + " j = " + j); } System.out.println("break : 這裡是在迴圈之外" ); }

輸出結果:

break : 這裡是內迴圈  i = 0 j = 0
break : 這裡是外迴圈  i = 0 j = 0
break : 這裡是內迴圈  i = 1 j = 0
break : 這裡是外迴圈  i = 1 j = 0
break : 這裡是在迴圈之外

分析:j始終等於0,可以知道,程式每次內迴圈直接跳出。

程式碼片段三:

/**
     *測試Continue在迴圈中的作用
     */
    static void TestContinue(){
        int i = 0,j = 0;
        boolean flag = true;
        for ( i = 0; i < 2; i++) {
            for ( j = 0; j < 2; j++) {
                System.out.println("continue : 這裡是內迴圈  " + "i = " + i + " j = " + j);
                if(flag) continue;//這裡if是為了避免Java編譯器標記 unreachable code
                System.out.println("continue後面的程式碼");
            }
            System.out.println("continue : 這裡是外迴圈  " + "i = " + i + " j = " + j);
        }
        System.out.println("continue : 這裡是在迴圈之外" );
    }

輸出結果:

continue : 這裡是內迴圈  i = 0 j = 0
continue : 這裡是內迴圈  i = 0 j = 1
continue : 這裡是外迴圈  i = 0 j = 2
continue : 這裡是內迴圈  i = 1 j = 0
continue : 這裡是內迴圈  i = 1 j = 1
continue : 這裡是外迴圈  i = 1 j = 2
continue : 這裡是在迴圈之外

分析:程式每次內迴圈中止。

由以上三個測試可分析出結果:
return直接跳出當前執行方法。
break直接跳出當前層次的迴圈。
continue中止當前迴圈。