はじめに
前回の記事では、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
この記事は役に立ちましたか?