C#のbreakとcontinueの使い方!ループ制御の基本テクニック
生徒
「C#のループって、どうやって途中で止めたりスキップしたりできるんですか?」
先生
「C#には、ループを途中で終了させるbreak文や、ある繰り返しをスキップして次に進むcontinue文がありますよ。」
生徒
「どうやって使い分けたらいいんですか?それぞれの使い方を知りたいです。」
先生
「それでは、C#のbreakとcontinueの基本的な使い方を、わかりやすく解説していきましょう!」
1. break文とは?
break(ブレーク)文は、繰り返し処理(ループ)を途中で終了させる命令です。たとえば、条件に合った時点でループを抜けたいときに使います。
「ループの途中で処理をやめたい!」というときにはbreakが便利です。
2. break文の使い方を具体的に見てみよう
以下は、1から10までの数字を表示するループの中で、「5になったらループを終わる」例です。
for (int i = 1; i <= 10; i++)
{
if (i == 5)
{
break;
}
Console.WriteLine(i);
}
実行結果:
1
2
3
4
5になる前にbreakでループを終了しているので、5以降は表示されません。
3. continue文とは?
continue(コンティニュー)文は、ループ内の処理をスキップして、次の繰り返しに進む命令です。
「ある条件のときだけ処理を飛ばしたい!」という場合に便利です。
4. continue文の使い方を具体的に見てみよう
以下は、1から10までの数字の中で、「偶数はスキップして奇数だけ表示する」例です。
for (int i = 1; i <= 10; i++)
{
if (i % 2 == 0)
{
continue;
}
Console.WriteLine(i);
}
実行結果:
1
3
5
7
9
偶数の場合はcontinueでConsole.WriteLineがスキップされ、奇数だけが表示されます。
5. breakとcontinueの違いを整理しよう
ここまでの説明で、breakとcontinueの役割の違いがわかってきたと思います。
break:ループそのものを途中で終了するcontinue:ループ内の処理をスキップして次に進む
以下は、両方を使った例です。
for (int i = 1; i <= 10; i++)
{
if (i == 7)
{
break;
}
if (i % 2 == 0)
{
continue;
}
Console.WriteLine(i);
}
実行結果:
1
3
5
この例では、偶数をスキップしながら進み、i == 7でbreakしてループを終了しています。
6. 初心者がつまずきやすいポイント
プログラミング初心者の方がbreakやcontinueを使うとき、よくある間違いがいくつかあります。
- 条件を間違えて、
breakが早すぎたり遅すぎたりする continueを入れる場所によって、重要な処理がスキップされてしまう
とくに、if文の中にbreakやcontinueを入れる位置はとても大事です。実際に試しながら覚えていきましょう。
7. breakとcontinueはどのループでも使える?
はい、breakとcontinueは、for文だけでなく、while文やdo-while文など、すべてのループ構文で使えます。
以下は、while文でbreakを使った例です。
int i = 1;
while (true)
{
if (i > 5)
{
break;
}
Console.WriteLine(i);
i++;
}
実行結果:
1
2
3
4
5
while文でも、条件に合ったときにbreakで抜けることができます。
8. 現実の例で理解しよう
例えば、缶ジュースの自動販売機を考えてみましょう。
ジュースを調べていて、賞味期限が切れていたら「次に進む(continue)」、在庫がなければ「処理を終える(break)」、というふうに考えられます。
このように、breakとcontinueは現実の判断や流れをプログラムに取り入れるのに、とても役立ちます。