※本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。
こんにちは。こんぶです。
今日は、制御構文の「ネスト、繰り返し中断、無限ループ」について学んでいきましょう!
私の自己紹介等は、こちらからどうぞ。
また、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】配列①
それでは、こんぶはじゃ~
コメント