SWITCH の右に書かれた <単純式> は,最初に1回だけ評価されてその結果の値が以後の CASE の <単純式> と比較されます。この比較は,現れた CASE の順番どおりに行なわれ,両者の値が完全に一致したとき,その CASE に続く <ブロック> を実行します。どの CASE にも一致しなかったときは,DEFAULT があればそれに続く <ブロック> を実行しますが,なければ何もしません。
SWITCH の <単純式> と CASE の <単純式> のデータ型は同じでなければなりません。
SWITCH の <単純式> を省略したときは,それぞれの CASE の <単純式> が <論理式> として解釈され,真になる最初の CASE に対応する <ブロック> を実行します。全部の CASE が偽のときは,DEFAULT があればそれに続く <ブロック> を実行しますが,なければ何もしません。
CASE はその順序に意味がありますが,DEFAULT はどこに現れても意味の違いはありません。また,DEFAULT を二つ以上指定することはできません。