【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年6月25日

    まとめ

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

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

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

    LINEで送る
    Pocket

    最短でエンジニアを目指すなら侍エンジニア塾

    cta_under_bnr

    侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

    あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

    無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

    無料体験レッスンの詳細はこちら

    書いた人

    中沢 丈

    中沢 丈

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

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

    おすすめコンテンツ

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

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