switch文とは?
switch文は、一つの変数や式の値に応じて複数の処理を分岐させるための制御構文です。if-else文を連続で使用する場合と比べて、コードがより読みやすく整理されます。
switch文では、指定した値とcase句の値が一致した場合にそのブロック内の処理が実行され、break文で処理を終了します。また、どのcase句にも一致しない場合の処理をdefault句で定義できます。
この構文は特に、多数の選択肢から一つを選んで処理を実行したい場面で威力を発揮し、プログラムの可読性と保守性を向上させる機能となっています。
【関連】
JavaScriptをもっと詳しく学ぶならpaizaラーニング
基本構文
switch文の基本的な書き方を理解するために、シンプルなコード例から始めましょう。まず最も基本的な形として、数値による条件分岐の例を示します。
出力結果
ネコ
次に、文字列を使った条件分岐の例です。switch文は数値だけでなく文字列でも比較できます。switch文では括弧内の値とcase句の値を比較し、一致した処理を実行します。break文をつけることで、一致した処理以降のcase句は実行されないようになります。
出力結果
ワンワン
実用例
ここからは、switch文の実践的な使用例を複数のサンプルコードで紹介します。実際の開発現場でよく使われるパターンを中心に、さまざまな場面でのswitch文の活用方法を学んでいきましょう。
各例では、条件分岐の処理内容や使用する値の型が異なるため、switch文の柔軟性と実用性を理解できます。また、break文の重要性やdefault句の使い方についても、具体的なコード例を通して詳しく解説していきます。これらのサンプルを参考にすることで、あなた自身のプロジェクトでもswitch文を効果的に活用できるようになるでしょう。
曜日による動物の表示
曜日を数値で受け取って対応する動物を表示する例です。0から6の数値が日曜日から土曜日に対応しています。このコードでは、変数dayの値が3なので、case 3の処理が実行されます。他の曜日には対応していないため、0以外の値ではdefault句が実行されます。
出力結果
水曜日はゾウ
月の季節判定
月の数値から季節を判定して、その季節の代表的な動物を表示する例です。複数のcase句を連続で記述することで、同じ処理をまとめられます。月が7なので夏の処理が実行されます。case句を連続で書くことで、6、7、8月すべてが同じ処理になります。
出力結果
夏のカメ
動物の鳴き声判定
動物の名前を受け取って対応する鳴き声を出力する例です。文字列の完全一致で判定を行います。動物名が「ネコ」なので、対応する鳴き声「ニャーニャー」が出力されます。文字列の比較では大文字小文字も区別されます。
出力結果
ニャーニャー
動物の分類
動物の種類によって分類を表示する例です。哺乳類、鳥類、魚類の判定を行います。ペンギンは鳥類のcase句に該当するため、「鳥類です」と出力されます。複数の動物を同じ分類でまとめて処理しています。
出力結果
鳥類です
動物園エリア案内
動物園の各エリアに配置されている代表的な動物を案内する例です。エリア名に基づいて動物を表示します。エリア名が「アフリカ」なので、アフリカエリアの代表動物であるキリンが案内されます。
出力結果
キリンがいます
ペットフードの推奨
ペットの種類に応じて推奨するフードタイプを表示する例です。動物の特性に合わせた食事を提案します。ペットがハムスターなので、ハムスター用のフードとしてひまわりの種が推奨されます。
出力結果
ひまわりの種推奨
動物の移動方法判定
動物の移動方法を判定して出力する例です。陸上、空中、水中の移動方法を分類します。イルカは水中を移動する動物なので、対応する移動方法が出力されます。動物の特徴的な移動パターンを分類して表示しています。
出力結果
水中を泳いで移動
動物のサイズ分類
動物の体のサイズによって分類を行う例です。小型、中型、大型の3つのカテゴリで分けています。ゾウは大型動物に分類されるため、該当するメッセージが表示されます。動物の体格による分類システムとして機能しています。
出力結果
大型動物です
まとめ
switch文は、複数の条件分岐を効率的に処理するための重要な構文として、現代のWeb開発において欠かせない存在となっています。
本記事で解説した基本構文から実用例まで、switch文の幅広い活用方法を理解することで、より読みやすく保守しやすいコードを書けるようになります。特に多数の選択肢から一つを選んで処理を実行する場面では、if-else文の連続使用よりもswitch文の方が適しています。
switch文の活躍する場面
- ユーザーの入力値に基づく画面表示の切り替え処理
- APIから受け取ったステータスコードによる処理の分岐
- 設定値や環境変数による動作モードの変更処理
重要なポイント
- break文の記述を忘れると意図しない処理が継続実行される
- default句で予期しない値への対応を必ず実装する
- 複数のcase句を連続記述して同一処理をまとめて効率化
これらの知識を活用して、switch文を使った効果的なプログラミングを実践していきましょう。