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