switch文 【switch statement】
言語により仕様や構文は異なるが、例えばC言語の場合は「switch(式){case 値1:文1;break;case 値2:文2;break;…default:規定の文}」となっており、式を評価した結果が値1に一致すれば文1を、値2に一致すれば文2を…と値に対応する文を実行し、どれも該当しなければdefault:で指定された文を実行する。
文は{}で括って複数の文のブロックとすることもでき、default指定は省略できる。値として記述できるのはコンパイル時に確定できる整数のみで、整数型以外の値や実行時に値が変化する変数などは指定できない。言語によっては一つのcaseに値を複数併記したり、文字列や型名(データ型の違いで分岐)などを指定できる場合もある。
Cではcaseブロック末尾のbreak文はオプションで、省略するとそのまま後続のcaseブロックが実行される。このような制御を「フォールスルー」(fall through)と呼び、複数の値で同じ処理を行わせたり、分岐後に途中で合流するような処理を簡潔に記述できる。breakを書き忘れて意図せず起きた場合には厄介なバグとなることもあるため、C#やSwiftのようにフォールスルーは明示しなければエラーとする仕様を採用した言語もある。
(2022.2.14更新)