はじめての 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回
ディスカッション
コメント一覧
まだ、コメントがありません