switch

式を評価し、その式の値が case 節と一致した場合は、その case に関連付けられた文を実行し、一致した case の後にある文も同様に実行します

構文

switch (expression) {
  case value1:
    // 式の結果が value1 に一致する場合に実行する文
    [break;]
  case value2:
    // 式の結果が value2 に一致する場合に実行する文
    [break;]
  ...
  case valueN:
    // 式の結果が valueN に一致する場合に実行する文
    [break;]
  [default:
    // 式の値に一致するものが存在しない場合に実行する文
    [break;]]
}
  • expression 結果が各 case 節と一致するか調べる式。

  • case valueN(Optional) expression との照合に使用される case 節。 expression が特定の valueN と一致する場合、 case 節の中の処理は、switch 文の末尾または break のいずれかに達するまで実行されます。

  • default(Optional) default 節。 expression の値が case 節のいずれとも一致しない場合、この節が実行されます。

説明

  • switch 文はまず始めに式を評価します。次に、式が入力式の結果と評価される値が等しい最初の case 節を (厳密等価演算子 === を使用して) 探し、その節に制御を移して、関連する処理を実行します。 (複数の case 節の値が指定された値と一致する場合、 case 節が互いに等しくなくても、最初に一致した case 節が選択されます。)

  • 一致する case 節が見つからない場合、プログラムは省略可能な default 節を探し、見つかればその節に制御を移し、関連する文を実行します。default 節が見つからない場合、プログラムは switch の終了に続く文で実行を続けます。慣習では、default 節は最後の節ですが、そうである必要はありません。

  • 省略可能な break 文は、各 case 節のラベルに関連付けられれており、一致した文を一回実行した後で switch を抜け出し、 switch に続く文から実行を継続することを保証します。もし break が省略されたら、プログラムは switch 文の中の次の文から実行を継続します。

最終更新

役に立ちましたか?