Java入門

【Java入門】ループの中断・スキップ(break文、continue文)

2021年4月17日

はじめに

前回の記事では、while文を使った繰り返し処理について紹介しました。

本記事では、ループを中断するbreak文、ループ処理の途中で、残りの処理をスキップして次のループ処理に移るcontinue文について紹介します。

繰り返しを中断する(break文)

for文やwhile文などの繰り返しを途中で中断するには「break文」を使います。

次の例では、int型の変数「total」が500を超えたらループを途中で中断しています。

[break文の使用例]

public class BreakSample {

    public static void main(String[] args) {
        int[] moneys = {100,200,500,1000};
        int total = 0;
        
        for (int money : moneys) {
            total += money;
            
            if (total > 500) {
                break;
            }
        }
        
        System.out.println("合計金額:" + total);
    }
}

[実行結果]

合計金額:800

上記のソースコードの処理の流れは次のとおりです。

処理な流れ

  • 繰り返し処理開始
  • 0番目の要素の回
  • 変数「total」に配列「moneys」の0番目の要素を加算する(total = 100)
  • 「total > 500」の条件に一致しないので次へ
  • 1番目の要素の回
  • 変数「total」に配列「moneys」の1番目の要素を加算する(total = 300)
  • 「total > 500」の条件に一致しないので次へ
  • 2番目の要素の回
  • 変数「total」に配列「moneys」の2番目の要素を加算する(total = 800)
  • 「total > 500」の条件に一致したので、break文で繰り返し処理を中断する
  • 繰り返し処理終了

スポンサーリンク

繰り返しを中断し、次の回に移る(continue文)

for文やwhile文などの繰り返しを途中で中断するbreak文に対し、continue文はループそのものを中断するのではなく、continue以降の処理をスキップし、次の回に移ります。

ある条件のときだけ、ループ内の処理をしたくないという時に「continue」を使います。

例えば、次の例では「i == 2」の条件に一致するときだけ、continue以降の処理をスキップし次の回に移っています。

[continue文の使用例]

public class ContinueSample {

    public static void main(String[] args) {
        
        for(int i = 0; i < 5; i++) {
            if (i == 2) {
                continue;
            }
            
            System.out.println("iの値:" + i);
        }
    }
}

[実行結果]

iの値:0
iの値:1
iの値:3
iの値:4

上記のソースコードの処理の流れは次のとおりです。

処理な流れ

  • 繰り返し処理開始
  • i = 0の回
  • 「i == 2」の条件に一致しないので次へ
  • 「System.out.println("iの値:" + i);」を実行する
  • i = 1の回
  • 「i == 2」の条件に一致しないので次へ
  • 「System.out.println("iの値:" + i);」を実行する
  • i = 2の回
  • 「i == 2」の条件に一致したのでcontinue文で以降の処理をスキップし、次の回へ(i = 2)
  • i = 3の回
  • 「i == 2」の条件に一致しないので次へ
  • 「System.out.println("iの値:" + i);」を実行する
  • i = 4の回
  • 「i == 2」の条件に一致しないので次へ
  • 「System.out.println("iの値:" + i);」を実行する
  • 繰り返し処理終了

終わりに

本記事では、break文とcontinue文について紹介しました。

次回の記事では、switch文を使った条件分岐について紹介します。

helpful