【3分で解決Java】for文のループ制御(breakとcontinue)

こんにちは!エンジニアの中沢です。

プログラミングをしているとループ処理を行うことってよくありますよね。ループ処理を記述していて、

ループ処理を途中で抜けたい
二重ループで外側のループまで抜けたい
ラベル付きbreak文の使い方を知りたい
ループ処理をスキップしたい

などで悩むことはありませんか?

今回はそんな悩みを解決するbreak文continue文についてです。

この記事では、break文とcontinue文について

  • break文とcontinue文
  • for文のループをbreak文で抜ける方法
  • for文のループをcontinue文でスキップする方法
  • という基本的な内容から

  • ラベル付きbreak文で2重ループを抜ける方法
  • 拡張for文やiteratorのループ処理
  • などの応用的な内容についても解説していきます。

    この記事では、for文のループをbreak文で抜ける方法や、continue文でスキップする方法をわかりやすく解説します!

    break文とcontinue文

    初めにbreak文とcontinue文について解説します。

    break文とは

    break文はループ処理を中断して、途中で抜けるときに使用します。break文は最も内側の1つのループから抜け出します

    多重ループの外側まで抜ける場合は、ラベル付きbreak文を使います。

    continue文とは

    continue文はループ処理の途中で、残りの処理をスキップして次のループ処理に移るときに使います。

    break文はループ処理全体を終わらせてしまうのに対して、continue文は残りの処理をスキップした後に次のループ処理を開始するという違いがあります。

    continue文は最も内側の1つのループをスキップします。多重ループのネストの外側までスキップする場合には、ラベル付continue文を使います。

    for文のループをbreak文で抜ける方法

    ここではfor文のループをbreak文で抜ける方法を解説します。for文のループをbreak文で抜けるには下記のように記述します。

    break文の記述例:

    条件式が真の場合break文が実行されるので、そこでループ処理を中断してループから抜け出します。

    break文の使い方を覚えるために次のプログラムで確認してみましょう。

    実行結果:

    このプログラムでは、文字列の配列から”a”が見つかるまでループ処理をしています。1番目の”a”が見つかった時点でbreak文を使ってループを抜けているので、配列の中の2番目の”a”の位置は表示されません。

    このようにbreak文を使ってループ処理から抜け出すことができています!

    ラベル付きbreak文で2重ループを抜ける方法

    ここでは多重ループをラベル付きbreak文で抜ける方法を解説します。ラベル付きbreak文で2重ループを抜けるには下記のように記述します。

    二重ループをラベル付きbreak文で抜ける記述例:

    ラベル付きbreak文を使うと、同じラベルをつけたfor文の外までループを抜けます。この場合はラベルが付いたfor文すなわち式1のfor文のループから抜け出します。

    次のプログラムで確認してみましょう。

    実行結果:

    このプログラムでは2重ループで2つの配列から目的の文字をそれぞれ探しています。

    目的の文字が見つかった時点でラベル付きbreak文を使って2重ループを抜けているので、配列の中の2番目の文字の位置は表示しません。

    このようにラベル付きbreak文を使って多重ループから抜け出すことができています!

    for文のループをcontinue文でスキップする方法

    次はfor文のループをcontinue文でスキップする方法を解説します。for文のループをcontinue文でスキップするには下記のように記述します。

    continue文の記述例:

    条件式が真の場合continue文が実行され、ループ処理がスキップされ実行されません

    continue文の使い方を覚えるために次のプログラムで確認してみましょう。

    実行結果:

    このプログラムでは文字列が”a”以外のときに、continue文で表示する処理をスキップしています。continue文でループ処理をスキップする方法が確認できています!

    なお、continue文についてもbreak文と同じ様にラベル付きcontinue文を使うことができます。ラベル付きcontinu文などの詳しい説明についてはこちらを参考にしてくださいね!

    【Java入門】for文をcontinue文でスキップする(ラベルも解説)
    更新日 : 2019年5月9日

    拡張for文やiteratorのループ処理

    拡張for文iteratorのループ処理について詳しく知りたいときはこちらの記事を参考にしてください!

    【3分でわかるJavaの基礎】List内のデータをfor文で処理する方法(iterator)
    更新日 : 2017年6月7日

    for文の使い方総まとめ

    for文についてさらに詳しく知りたいときはこちらの記事を確認してください!

    【保存版】Javaのfor文、拡張for文、forEachのループ処理の使い方
    更新日 : 2019年4月24日

    まとめ

    ここでは、break文やcontinue文について解説してきましたがいかがでしたか?

    ラベル付きbreak文で2重ループを抜ける場合、ラベルの位置を間違えると期待通りにループを抜けられないので注意してくださいね。

    もしfor文のループをbreak文で抜ける方法やcontinue文でスキップする方法を忘れてしまったらこの記事を確認してください!

    Javaカリキュラム無料公開中!

    この記事はJava入門完全攻略ガイド【基礎学習/アプリ開発/仕事獲得】の一部になります。このカリキュラムは、プログラミング入門者が、基礎学習からアプリ開発、さらには仕事獲得まで体系的に学べる内容となっています。

    Java学習に必要な情報を一つにまとめていますので効率よくJavaを学ぶことが出来ます。この機会に是非活用していただければと思います。

    Java入門からアプリ開発まで未経験者が知っておくべき基礎を総ざらい
    更新日 : 2019年5月22日

    最短でJavaを習得したい方へ

    もし、あなたが、

    「難しすぎて学習が全然進まない」
    「学習量が膨大でゴールが見えない」
    「エラーを解決するのに何日もかかってしまう」

    など、プログラミング学習やキャリアに関してお困りであれば、まずは『無料体験レッスン』にお申し込み下さい。

    あなたにとって、最適の解決策をご提案させていただきます。

    詳しくは下の画像から詳しいサービス内容をご確認ください。

    cta_bannar-java1
    LINEで送る
    Pocket

    書いた人

    中沢 丈

    中沢 丈

    フリーランスエンジニア。
    システム開発からコンテンツ作成まで幅広く対応します。

    連絡先はこちらです。
    [email protected]

    おすすめコンテンツ

    あなたにぴったりなプログラミング学習プランを無料で診断!

    プログラミング学習の効率を劇的に上げる学習メソッドを解説