break、continue與goto關鍵字

阿俊学JAVA發表於2024-03-15

break

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

  • 程式碼舉例

    public class BreakDemo {
        public static void main(String[] args) {
            int i = 0;
            while (i<100){
                i++;
                System.out.println(i);
                if (i==30){ //設定跳出迴圈的條件
                    break;  //i到30時跳出迴圈
                }
            }
    
            System.out.println("使用break跳出迴圈後程式碼還是會往下走,不會終止程式");
        }
    }
    

continue

  • continue語句在迴圈語句中,用於終止某次迴圈過程,即跳過迴圈體中尚未執行的語句,接著進行下一次是否執行迴圈的判定

  • 程式碼舉例

    public class ContinueDemo {
        public static void main(String[] args) {
            int i = 0;
            while (i<100){
                i++;
                if (i%10==0){   //模運算:如果i是10的倍數
                    System.out.println();   //條件成立列印一個換行
                    continue;   //是10的倍數,條件成立後跳過本次迴圈直接返回while重新判斷條件成立繼續迴圈
                }
                //以上判斷如果成立,下面的程式碼不會執行,因為以上判斷成立後已經返回while重新判斷迴圈條件
                System.out.print(i);    //不會列印10的倍數
            }
        }
    }
    

關於goto關鍵字

  • goto關鍵字很早就在程式設計語言中出現。儘管goto仍是Java的一個保留字,但未在語言中得到正式使用;Java沒有goto,然而在break和continue這兩個關鍵字身上,我們仍然能看出一些goto的影子,例如帶標籤的break和continue

  • "標籤"是指後面跟一個冒號的識別符號,例如:label

  • 對Java來說唯一用到標籤化的地方是在迴圈語句之前。而在迴圈之前設定標籤的唯一理由是:我們希望在其中巢狀另一個迴圈,由於break和continue關鍵字通常只中斷當前迴圈,但若隨同標籤使用,它們就會中斷到存在標籤的地方

  • 程式碼舉例

    public class LabelDemo {
        public static void main(String[] args) {
            //列印101~159之間所有的質數
            //質數:是指在大於1的自然數中,除了1和它本身以外不再有其他因數的自然數(只能被1和它本身整除的數就是質數)
            int conut = 0;
            //以下是goto在Java語句中表達的語法,十分麻煩不建議使用,瞭解一下即可
            outer:for (int i = 101; i < 150; i++){  //定義一個"outer"標籤,用於巢狀迴圈中跳回某個迴圈判斷點開始再次迴圈
                for (int j = 2; j < i / 2; j++) {
                    if (i % j == 0){
                        continue outer; //跳回帶"outer"標籤的迴圈體再次迴圈
                    }
                }
                System.out.print(i+" ");
            }
        }
    }
    

相關文章