【Java-21】制御構文~ネスト、繰り返し中断、無限ループ~

初心者向けJava講座

※本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。

こんぶ
こんぶ

こんにちは。こんぶです。

今日は、制御構文の「ネスト、繰り返し中断、無限ループ」について学んでいきましょう!

私の自己紹介等は、こちらからどうぞ。

また、Javaの学習を最初から進めていきたい方は、Java-1から見てみてくださいね。

ネスト

分岐や繰り返しの制御構造は、その中に別の制御構造を含むことができます。そのような多重構造のことを「入れ子」や「ネスト」といいます。

次の例では、分岐構文である「if-else構文」の中に、繰り返し構文である「for文」をネストしています。

こちらのコードでは、if-else構文で「int型の変数 numberに入っている数字が偶数である」という条件に当てはまるかどうかを確認し、偶数である場合は画面に「偶数:」と表示してからfor文を実行します。奇数である場合は、「奇数」と表示されます。

for文では、2から「int型の変数 numberに入っている数字」までの偶数を表示します。

つまり、例のコードを実行すると次のように画面に表示されます。

繰り返し中断

繰り返し構文の途中で、その繰り返しを中断したい場合は、「break文」や「continue文」を使用することもできます。

「break文」は、繰り返し自体をすぐに中断させたい場合に使用します。

「continue文」は、今回の周の繰り返しを中断し、(同じ繰り返しの)次の周の繰り返しに進ませたい場合に使用します。

それぞれ例を見てみましょう。

まずは「break文」です。

こちらのコードでは、for文を使用し「i = ★」のようにint型の変数 i に入っている0~9までの数値を★部分に表示します。ですが、if構文により i が5の時にループが中断されます。(break文による中断)そして、「i が5なので終了します」と表示されます。

その後、「完了」と表示されます。

つまり、実行すると次のように画面に表示されます。

次に「continue文」です。

こちらのコードでは、for文を使用し「i = ★」のようにint型の変数 i に入っている0~9までの数値を★部分に表示します。ですが、if構文により i が5の時のみループが中断されます。(continue文による中断) i が5の時は「i = 5なので、この周は中断します」と表示されます。

その後 i が6以降のループが行われ、最後に「完了」と表示されます。

つまり、実行すると次のように画面に表示されます。

無限ループ

無限ループとは、強制停止されるまで永久に繰り返しを続ける制御構造です。

作成方法は2つあります。

while構文で無限ループを作成する場合は「while(true){処理}」、for文で無限ループを作成する場合は「for(;;){処理}」のように記述します。

無限ループは、JDKを利用している場合は「Ctrl + Cキー」を押すと強制終了させることができます。

今回のまとめ

★制御構造の中に別の制御構造を含ませた多重構造のことを「入れ子」や「ネスト」という

★繰り返し構文の途中で、その繰り返しを中断したい場合は「break文」や「continue文」を使用できる

★「break文」は、繰り返し自体をすぐに中断させたい場合に使用する

★「continue文」は、今回の周の繰り返しを中断し、(同じ繰り返しの)次の周の繰り返しに進ませたい場合に使用する

★無限ループとは、強制停止されるまで永久に繰り返しを続ける制御構造

★無限ループは「while(true){処理}」、「for(;;){処理}」のように記述する

次回は、配列について説明していこうと思います。

今回の内容のチャレンジ問題はこちらです→チャレンジ問題【Java-21】

次の内容に進む方はこちらです→【Java-22】配列①

それでは、こんぶはじゃ~

コメント

タイトルとURLをコピーしました