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

中沢 丈
書いた人 中沢 丈


侍エンジニア塾ブログは、未経験からWebアプリ開発と仕事獲得をサポートする
侍エンジニア塾のオウンドメディアです。
プログラミング学習を覗き見

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

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

ループ処理を記述していて、

ループ処理を途中で抜けたい

二重ループで外側のループまで抜けたい

ラベル付き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文などの詳しい説明についてはこちらを参考にしてくださいね!

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

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

for文の使い方総まとめ

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

まとめ

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

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

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

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

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


33歳、未経験だった僕がフリーエンジニアになれた理由
現在フリーでWEBエンジニアをやられている濱口直行さん。33歳で、プログラミングを学び始め、約半年という短い期間で独立までされた学習ログを余すことなくインタビューさせていただきました。

プログラミングを学習中の方はもちろん、独立をお考えの方まで幅広く活用できる記事になっています。この機会に是非活用していただければと思います。


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

もし、あなたが、

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

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

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

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

cta_bannar-java2

非常識な結果を出した卒業生

活躍する現役エンジニア

人気記事セレクション

LINEで送る
Pocket

この記事が気に入ったら
いいね!をしてフォローしよう

最新情報をお届けします

書いた人

中沢 丈

中沢 丈

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

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