1. 程式人生 > 其它 >break continue(goto)

break continue(goto)

break continue

  • break在任何迴圈語句的主體部分,均可用break控制迴圈的流程。break用於強行退出迴圈,不執行迴圈中剩餘的語句。(break語句也在switch語句中使用)
package com.L1sy.struct;

public class BreakDemo {
    public static void main(String[] args) {
        int i = 0;
        while (i<100){
            i++;
            System.out.println(i);
            if (i==30){
                break;
            }
        }
        System.out.println("123");
    }
}
  • continue 語句用在迴圈語句體中,用於終止某次迴圈過程,即跳過迴圈體中尚未執行的語句,接著進行下一次是否執行迴圈的判定。
package com.L1sy.struct;

public class ContinueDemo {
    public static void main(String[] args) {
        int i= 0;
        while (i<100){
            i++;
            if (i%10==0){
                System.out.println();
                continue;
            }
            System.out.println(i);
        }

        //break在任何迴圈語句的主體部分,均可用break控制迴圈的流程。
        //      break用於強行退出迴圈,不執行迴圈中剩餘的語句。(break語句也在switch語句中使用)
        //
        //continue 語句用在迴圈語句體中,用於終止某次迴圈過程,即跳過迴圈體中尚未執行的語句,接著進行下一次是否執行迴圈的判定。
    }
}
  • 關於goto關鍵字
    • goto關鍵字很早就在程式設計語言中出現。儘管goto仍是Java的一個保留字,但並未在語言中得到正式使用;Java沒有goto。然而,在break和continue這兩個關鍵字的身上,我們仍然能看出一些goto的影子---帶標籤的break和continue。
    • “標籤”是指後面跟一個冒號的識別符號,例如:label:
    • 對Java來說唯一用到標籤的地方是在迴圈語句之前。而在迴圈之前設定標籤的唯一理由是:我們希望在其中巢狀另一個迴圈,由於break和continue關鍵字通常只中斷當前迴圈,但若隨同標籤使用,它們就會中斷到存在標籤的地方。
package com.L1sy.struct;

public class LabelDemo {
    public static void main(String[] args) {
        //列印101~150之間所有的質數
        //質數是指在大於1的自然數中,除了1和它本身以外不再有其他因數的自然數。
        //質數只可能被小於自己一半的數整除(一個數如果不能以它本身的一半以內的數乘上另一個數得到,那麼,它就是質數)

        int count = 0;

        //不建議使用!
        outer:for(int i=101;i<150;i++){
            for (int j = 2;j<i/2;j++){
                if (i % j ==0){
                    continue outer;
                }
            }
            System.out.print(i+" ");
        }

    }
}

筆記出處——狂神老師