本文へスキップ
BecomeCoder

C#文法コース · 第2章 制御構文 · レッスン21

break と continue

ブラウザで完結

導入

ループ途中で打ち切るbreak)、今回だけ飛ばして次へcontinue)——繰り返しを細かく制御する2つのキーワードを学びます。

図解

flowchart TB
    L["ループ中"] --> D{"どうする?"}
    D -->|break| X["ループを完全に抜ける"]
    D -->|continue| N["今回をスキップして次の回へ"]
    D -->|通常| P["最後まで実行して次の回へ"]

サンプル

// break: 条件を満たしたらループを完全に終了
for (int i = 1; i <= 10; i++)
{
    if (i == 4)
    {
        break;    // i が 4 になった時点でループ終了
    }
    Console.WriteLine(i);
}
// 1 / 2 / 3

// continue: 今回だけスキップして次の回へ
for (int i = 1; i <= 5; i++)
{
    if (i % 2 == 0)
    {
        continue;    // 偶数のときは出力せず次へ
    }
    Console.WriteLine(i);
}
// 1 / 3 / 5
  • break: ループ全体を即座に終了する
  • continue: 今回の残りをスキップして次の繰り返しへ
  • どちらもifと組み合わせて「特定条件のとき」に使う

演習

int[] numbers = { 3, 7, 2, 9, 4 };

// TODO: foreach で回し、最初に見つかった 9 で "見つかりました" を出力して break してください
___
  • 期待される出力: 見つかりました
ヒント1を見る

if (n == 9) { Console.WriteLine("見つかりました"); break; }

ヒント2を見る

foreach (int n in numbers) { if (n == 9) { Console.WriteLine("見つかりました"); break; } }

まとめ

  • breakはループを完全に抜ける
  • continueは今回をスキップして次の回へ
  • 「探索して見つけたら終了」などで頻出

次章: 複数のデータをまとめて扱う「コレクション」へ進みます。

実際に動かしてみよう

本文のサンプルや演習のコードは、コードブロック右上の「コピー」ボタンでコピーして、下のエディタに貼り付ければそのまま実行できます。

C# — ブラウザ内で実行

ブラウザ内でC#を動かす環境を読み込みます(初回のみ数秒)。
スクロールして表示された時点でも自動で読み込まれます。