case節
概要
case節とは、プログラミング言語で条件分岐を記述するswitch文で用いられる構文の一つで、値と処理を対応付けるもの。switch文の条件式を評価してcase節の値に一致したら、その節にある処理を実行する。switch文は多数の条件分岐を一度に記述することができる制御構文で、多くの高水準言語に用意されている。仕様は言語により異なるが、例えばC言語の場合は「switch(式){case 値1:文1;break;case 値2:文2;break;…default:規定の文}」という構文となっている。
冒頭のswitch文に記述された式の値を評価し、各case節の値と照合する。値が一致するcase節があれば、その節に記述された文あるいはコードブロックを実行する。どれも該当しなければdefault節に記述された処理を実行する。default節が省略されている場合は何も実行しない。
C言語のswitch文ではcase節の値として整数リテラルを一つだけ記述でき、他の型の値や実行時に内容が決まる変数などを用いることはできない。言語によっては文字列など他のデータ型の値を指定したり、複数の値を列挙していずれかに一致する場合に実行するといった書き方が可能な場合もある。
なお、case節の末尾にbreak文を置いてswitch文を終了させるが、break文を省略すると次のcase節がそのまま実行される。これを「フォールスルー」というが、break文を書き忘れて意図せずフォールスルーしてしまうバグが起きがちなため、C#やSwiftのようにフォールスルーは明示しなければエラーとする仕様を採用した言語もある。
(2024.8.28更新)