If文とcase文はどう使い分けます?

if文とcase文はどう使い分けますか?

if文とcase文はどう使い分けますか?

プログラミングにおいて、条件分岐は非常に重要な要素です。条件によって処理を分岐させることで、柔軟性のあるプログラムを構築することができます。代表的な条件分岐として、「if文」と「case文」が挙げられます。本稿では、それぞれの文の特徴と使い分け、そして具体的な使用例について解説します。

1. if文: 単純な条件分岐に最適

「if文」は、ある条件が満たされた場合にのみ、特定の処理を実行したい場合に使用します。基本的な構文は以下の通りです。


if (条件式) {
  // 条件式がtrueの場合に実行される処理
} else {
  // 条件式がfalseの場合に実行される処理
}

例えば、ユーザーが入力した数値が偶数かどうかを判定する場合は、以下のように記述します。


const num = 10;

if (num % 2 === 0) {
  console.log("偶数です");
} else {
  console.log("奇数です");
}

if文のメリット

* シンプルで分かりやすい構文 * 条件が一つしかない場合に最適

2. case文: 複数の選択肢から処理を分岐

「case文」は、複数の条件式を評価し、一致する条件式に対応する処理を実行したい場合に使用します。基本的な構文は以下の通りです。


switch (式) {
  case 値1:
    // 式が値1と一致する場合に実行される処理
    break;
  case 値2:
    // 式が値2と一致する場合に実行される処理
    break;
  default:
    // どのcaseにも一致しない場合に実行される処理
}

例えば、ユーザーが選択した果物によって価格を表示する場合は、以下のように記述します。


const fruit = "りんご";
let price;

switch (fruit) {
  case "りんご":
    price = 100;
    break;
  case "みかん":
    price = 50;
    break;
  case "バナナ":
    price = 80;
    break;
  default:
    price = "不明";
}

console.log(price + "円");

case文のメリット

* 複数の条件分岐を簡潔に記述できる * 可読性が高い

3. if文とcase文の使い分け

基本的には、条件分岐が一つしかない場合は「if文」、複数ある場合は「case文」を使用します。しかし、以下の表を参考に、状況に応じて使い分けることが重要です。

ケース 推奨する文 理由
条件分岐が1つしかない if文 シンプルで分かりやすい記述が可能
条件分岐が複数あり、それぞれ独立している case文 簡潔で可読性の高い記述が可能
条件式が複雑 if文 case文では対応できない場合がある
処理速度が重視される 状況による 一般的にはcase文の方が高速だが、処理内容や環境に依存する

4. まとめ

「if文」と「case文」はどちらも条件分岐に欠かせない構文です。それぞれの特性を理解し、適切に使い分けることで、より効率的で可読性の高いプログラムを作成することができます。

参考文献

* MDN Web Docs: if...else * MDN Web Docs: switch

関連QA

Q1: if文の中にif文を記述することはできますか?

A1: はい、可能です。これをネスト構造と呼びます。ただし、ネストが深くなりすぎるとコードが複雑になるため、注意が必要です。

Q2: case文で複数の条件式をまとめて記述することはできますか?

A2: はい、可能です。同じ処理を実行したいcaseを連続して記述することで、複数の条件式をまとめて扱うことができます。

Q3: if文とcase文のどちらを使用しても問題ない場合は、どちらを使うべきですか?

A3: どちらを使用しても問題ない場合は、コードの可読性を考慮して選択することが重要です。一般的には、条件分岐が少ない場合は「if文」、多い場合は「case文」の方が可読性が高くなる傾向があります。

その他の参考記事:jquery if 文