カテゴリ: C# 更新日: 2025/11/28

C#のbreakとcontinueの使い方!ループ制御の基本テクニック

C#のbreakとcontinueの使い方!ループ制御の基本テクニック
C#のbreakとcontinueの使い方!ループ制御の基本テクニック

先生と生徒の会話形式で理解しよう

生徒

「C#のループって、どうやって途中で止めたりスキップしたりできるんですか?」

先生

「C#には、ループを途中で終了させるbreak文や、ある繰り返しをスキップして次に進むcontinue文がありますよ。」

生徒

「どうやって使い分けたらいいんですか?それぞれの使い方を知りたいです。」

先生

「それでは、C#のbreakcontinueの基本的な使い方を、わかりやすく解説していきましょう!」

1. break文とは?

1. break文とは?
1. break文とは?

break(ブレーク)文は、繰り返し処理(ループ)を途中で終了させる命令です。たとえば、条件に合った時点でループを抜けたいときに使います。

「ループの途中で処理をやめたい!」というときにはbreakが便利です。

2. break文の使い方を具体的に見てみよう

2. 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文とは?

3. continue文とは?
3. continue文とは?

continue(コンティニュー)文は、ループ内の処理をスキップして、次の繰り返しに進む命令です。

「ある条件のときだけ処理を飛ばしたい!」という場合に便利です。

4. continue文の使い方を具体的に見てみよう

4. 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

偶数の場合はcontinueConsole.WriteLineがスキップされ、奇数だけが表示されます。

5. breakとcontinueの違いを整理しよう

5. breakとcontinueの違いを整理しよう
5. breakとcontinueの違いを整理しよう

ここまでの説明で、breakcontinueの役割の違いがわかってきたと思います。

  • 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 == 7breakしてループを終了しています。

6. 初心者がつまずきやすいポイント

6. 初心者がつまずきやすいポイント
6. 初心者がつまずきやすいポイント

プログラミング初心者の方がbreakcontinueを使うとき、よくある間違いがいくつかあります。

  • 条件を間違えて、breakが早すぎたり遅すぎたりする
  • continueを入れる場所によって、重要な処理がスキップされてしまう

とくに、if文の中にbreakcontinueを入れる位置はとても大事です。実際に試しながら覚えていきましょう。

7. breakとcontinueはどのループでも使える?

7. breakとcontinueはどのループでも使える?
7. breakとcontinueはどのループでも使える?

はい、breakcontinueは、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. 現実の例で理解しよう

8. 現実の例で理解しよう
8. 現実の例で理解しよう

例えば、缶ジュースの自動販売機を考えてみましょう。

ジュースを調べていて、賞味期限が切れていたら「次に進む(continue)」、在庫がなければ「処理を終える(break)」、というふうに考えられます。

このように、breakcontinueは現実の判断や流れをプログラムに取り入れるのに、とても役立ちます。

まとめ

まとめ
まとめ

C#のbreak文とcontinue文は、ループ処理において柔軟な制御を可能にする重要な機能です。繰り返しの中で「この時点でループを抜けたい」「特定の条件だけスキップしたい」といった細かな制御が求められる場面は、実際の開発現場でもよくあります。今回学んだbreakcontinueは、そのようなニーズに対応する基本中の基本であり、初学者のうちから確実に理解しておきたい文法です。

break文は、「このループをもうやめたい」と判断したときに使い、continue文は、「今回はスキップして次の繰り返しへ進みたい」ときに使います。この2つを上手く使い分けることで、無駄な処理を省き、処理効率を高めることができます。また、読みやすく、意図が明確なコードを書くためにも、ループの中にbreakcontinueを使う位置や条件は慎重に設計する必要があります。

以下は、for文の中でbreakcontinueを組み合わせて使った実用的な例です。指定した条件のときだけ表示を行い、ある値に達したらループを終了する、という処理になります。


for (int i = 1; i <= 20; i++)
{
    if (i % 2 == 0)
    {
        continue; // 偶数はスキップ
    }

    if (i > 11)
    {
        break; // 11を超えたらループ終了
    }

    Console.WriteLine("現在の値:" + i);
}

このコードの出力結果は以下の通りです:


現在の値:1
現在の値:3
現在の値:5
現在の値:7
現在の値:9
現在の値:11

このように、continueで偶数をスキップし、breakで12以上の値になった時点でループを止めています。こうした制御は、ユーザーの入力値チェックや、条件検索など、現実のビジネスロジックをプログラムで表現するうえで非常に役立ちます

また、while文やdo-while文でも同様に使えることを理解することで、今後の開発でより多彩な処理に対応できるようになります。無限ループの中での脱出条件にbreakを使ったり、ログ処理やエラーチェックでcontinueを活用したりと、応用の幅も広がっていきます。

実際の開発では、たとえば商品の一覧を表示する際に、在庫切れの商品をスキップしたい(continue)が、売り切れ通知が出たら全体の処理を止めたい(break)といった場面もあるでしょう。条件に応じて処理を細かく調整できるというのは、プログラムに柔軟性を持たせるうえで欠かせないスキルです。

まとめとして、breakcontinueは、C#のループ構文と合わせて使いこなすことで、より意図に沿った処理が実現できます。ループ制御に慣れてきたら、他の構文と組み合わせて、条件分岐や例外処理とも連携できるようになると、プログラミング全体の理解も深まるでしょう。今後もコードをたくさん書いて、試行錯誤しながら学んでいくことが大切です。

先生と生徒の振り返り会話

生徒

「今日はbreakcontinueの使い方がよくわかりました!条件によってスキップしたり、終了したりできるのって便利ですね。」

先生

「そうですね。ループ処理は実際のアプリケーションでもよく登場するので、しっかり身につけておくと後で役立ちますよ。」

生徒

「偶数だけスキップして奇数を表示するとか、在庫がなくなったらループを止めるとか、いろんな場面がイメージできるようになりました!」

先生

「その調子です。プログラムは現実の処理をどうやって再現するかが大事ですから、実例を想像するのはとてもいい勉強法です。」

生徒

「コードも読みやすくなるし、エラーも減らせそうですね。これからはbreakcontinueを上手に使っていきたいです!」

先生

「ぜひいろいろなループの中で試してみてください。慣れてくると、複雑な処理もスムーズに書けるようになりますよ。」

カテゴリの一覧へ
新着記事
New1
C#
C#のデフォルト引数と名前付き引数の使い方を解説!初心者でも安心のやさしい入門
New2
C#
C#のオブジェクト初期化子を完全ガイド!初心者でもわかる便利な使い方
New3
COBOL
COBOLの帳票出力と編集を完全マスター!条件付き表示で分かりやすい書類を作る方法
New4
COBOL
COBOLの帳票出力を完全攻略!数値項目のカンマ・小数点編集例を徹底解説
人気記事
No.1
Java&Spring記事人気No1
C#
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.2
Java&Spring記事人気No2
C#
C#でJSONファイルを読み書きする方法(JsonSerializer・Newtonsoft.Json)
No.3
Java&Spring記事人気No3
C#
C#のLINQクエリ構文の書き方と基本操作をマスターしよう
No.4
Java&Spring記事人気No4
C#
C#でswitch式を使う方法!C# 8.0以降の新機能を解説
No.5
Java&Spring記事人気No5
COBOL
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.6
Java&Spring記事人気No6
C#
C#のLINQ(リンク)とは?基本概念とデータ操作を初心者向けに徹底解説!
No.7
Java&Spring記事人気No7
C#
C#の非同期処理とUIスレッドをマスター!WPF/WinFormsでアプリが止まる問題を解決
No.8
Java&Spring記事人気No8
C#
C#のCancellationTokenを使ったキャンセル処理を完全ガイド!非同期処理を安全に止める方法