みつる君
今回は、初心者向けに条件分岐の一種であるswitchステートメントについて説明します。switchステートメントとは、ある変数の値に応じて、複数の処理を分岐させることができる構文です。if文と似ていますが、switchステートメントの方が、値が多くなった場合に見やすく書けるというメリットがあります。では、具体的な例を見てみましょう。
switchステートメント
基本的な構文
みつる君
switchステートメントは、指定した式を評価し、その値に応じて実行するコードブロックを選択します。以下は、基本的な構文です。
構文
switch(変数)
{
case 値A:
// 変数の値 == 値A のとき実行される
break;
case 値B:
// 変数の値 == 値B のとき実行される
break;
・
・
・
default:
// caseで指定された以外の値のとき実行される
break;
}
この構文では、式の評価結果に応じて、該当するcaseラベルの処理が実行されます。一致するケースがない場合、defaultラベルの処理が実行されます。
コードの例
マリさん
では、実際に例を作成してみましょう。
みつる君
下記のコードでは、「int d=6;」なので、dに6が格納され、switch(変数)の変数は6になります。そのため、
Console.WriteLine(“金曜日”);
が、実行されます。
using System; namespace ConsoleApp1 { internal class Program { static void Main(string[] args) { int d = 6; switch (d) { case 1: Console.WriteLine("日曜日"); break; case 2: Console.WriteLine("月曜日"); break; case 3: Console.WriteLine("火曜日"); break; case 4: Console.WriteLine("水曜日"); break; case 5: Console.WriteLine("木曜日"); break; case 6: Console.WriteLine("金曜日"); break; case 7: Console.WriteLine("土曜日"); break; } } } }
みつる君
実行結果は
金曜日
みつる君
このプログラムでは、変数d
の値に応じて該当する曜日がコンソールに表示されます。
みつる君
では、これを、if else文でコードを書きなおした場合、どうなるでしょう。
尚、if else文は下記を参考にしてください。
using System; namespace ConsoleApp1 { internal class Program { static void Main(string[] args) { int d = 6; if (d == 1) { Console.WriteLine("日曜日"); } else if (d == 2) { Console.WriteLine("月曜日"); } else if (d == 3) { Console.WriteLine("火曜日"); } else if (d == 4) { Console.WriteLine("水曜日"); } else if (d == 5) { Console.WriteLine("木曜日"); } else if (d == 6) { Console.WriteLine("金曜日"); } else if (d == 7) { Console.WriteLine("土曜日"); } } } }
みつる君
実行結果は
金曜日
みつる君
同じですね!