はじめての switch 文:選択肢を分けて処理しよう!

1. switch 文って何?

switch 文は、たくさんの選択肢の中から1つを選ぶとき に使う条件分岐の書き方です。

  • if は「もし〇〇なら、そうでなければ…」を1つずつ書きますが、
  • switch は「〇〇の場合、△△の場合…」をわかりやすく並べられます。

2.switch 文の基本形

switch (値)
{
    case 値1:
        // 値1のときの処理
        break;

    case 値2:
        // 値2のときの処理
        break;

    default:
        // どのケースにも当てはまらないときの処理
        break;
}
  • switch (値) で調べたい値を指定。
  • case 値: は「もし値がこれなら」。
  • default: は「どれにも当てはまらないとき」。
  • break; は、そこで分岐を終わらせるために必要です。

3. 具体例

例:数字を曜日に変換する

int day = 3;

switch (day)
{
    case 1:
        Console.WriteLine("月曜日");
        break;

    case 2:
        Console.WriteLine("火曜日");
        break;

    case 3:
        Console.WriteLine("水曜日");
        break;

    default:
        Console.WriteLine("該当なし");
        break;
}

ポイント

  • day が 3 なので、「水曜日」と表示されます。
  • default は「case に一致しないとき」。

4. switch と if の違い

特徴if 文switch 文
条件数値・文字列・論理式数値・文字列
使いどころ条件が複雑なとき条件がたくさん並ぶとき
書き方条件を一つずつ書く選択肢をまとめて書く

5. break を忘れるとどうなる?

break; を書かないと、下のケースも続けて実行されます。

これを「フォールスルー」と呼びます。

int num = 1;

switch (num)
{
    case 1:
        Console.WriteLine("1です");
        // break を忘れると
    case 2:
        Console.WriteLine("2です");
        break;
}

// 結果: 1です と 2です の両方が表示される

6. 練習問題

ユーザーが入力した数字で、1〜4なら「ランクA〜D」と表示し、それ以外なら「ランク外」と表示する switch 文を書いてみよう。

Console.Write("ランク番号(1〜4)を入力してください: ");
int rank = int.Parse(Console.ReadLine());

switch (rank)
{
    case 1:
        Console.WriteLine("ランクA");
        break;
    case 2:
        Console.WriteLine("ランクB");
        break;
    case 3:
        Console.WriteLine("ランクC");
        break;
    case 4:
        Console.WriteLine("ランクD");
        break;
    default:
        Console.WriteLine("ランク外");
        break;
}

7. まとめ

  • switch 文は「たくさんの選択肢をわかりやすく整理する」。
  • case で分岐を作り、break で終わらせる。
  • どれにも当てはまらないときは default を使う。

訪問数 42 回, 今日の訪問数 1回

C#,入門,条件式

Posted by hidepon