switch (expr) {
case int_1: statements_1;
break;
case int_2: statements_2;
break;
......................
case int_n: statements_n;
break;
default: statements_0;
break;
}
Integer expr;
【詳細】
switch 文は,ある式が複数の値の 1 つと一致するかテストし,
それに応じて分岐する特別の多分岐判断機構である。
switch 文は,括弧内の整数式 expr を計算し,その値を全ての
ラベル int_1 〜 int_n と比較する。各 case には,整数定数の式
でラベルをつける。あるラベルが expr と一致すれば,実行はその
case から始められる。 default のラベルのついた case は,他の
いずれの case も満足されないときに実行される。
break 文はスイッチ文から直接抜け出る手段である。C言語と同様に
case は単にラベルとして働くから,1 つの case 文が終了したのち,
抜け出すための明示的な動作がなければ,実行は次の case へ移る。
【例題】
整数型の変数 num をチェックし,num が -1, 0, 1
のいずれかのとき,対応する case 文の文字列を表示し,
これらの値のどれとも一致しないとき,default 文が実行される。
switch (num) {
case -1: print "minus one\n";
break;
case 0: print "zero\n";
break;
case 1: print "plus one\n";
break;
default: print "other value\n";
break;
}
【参照】