switch文は、「もし~ならば~を行う」というような条件分岐処理を行う制御構文のひとつ。等価演算子を条件式に使ったif文とelse if文を並べるのと似ているが、switch文は、ひとつの変数もしくは式の値に対し、等価比較条件をいくつか設定し、変数や式の値に応じて処理を振り分ける際に便利だ。
構文
基本
switch ( 変数もしくは式 ) {
case 値A:
変数もしくは式の値が、値Aと等しいときの処理
break;
case 値B:
変数もしくは式の値が、値Bと等しいときの処理
break;
case 値C:
変数もしくは式の値が、値Cと等しいときの処理
break;
}
case 値A:
変数もしくは式の値が、値Aと等しいときの処理
break;
case 値B:
変数もしくは式の値が、値Bと等しいときの処理
break;
case 値C:
変数もしくは式の値が、値Cと等しいときの処理
break;
}
詳しくは、「switch文の基本的使い方」のページへ。
複数の値に対し同じ処理
switch ( 変数もしくは式 ) {
case 値A:
case 値B:
case 値C:
変数もしくは式の値が、値A、値B、値Cのいづれかのときの処理
break;
case 値D:
case 値E:
変数もしくは式の値が、値D、値Eのいづれかのときの処理
break;
}
case 値A:
case 値B:
case 値C:
変数もしくは式の値が、値A、値B、値Cのいづれかのときの処理
break;
case 値D:
case 値E:
変数もしくは式の値が、値D、値Eのいづれかのときの処理
break;
}
詳しくは、「複数の値に対し同じ処理をするswitch文」のページへ。
デフォルトの処理を指定
default文を使う。
switch ( 変数もしくは式 ) {
case 値A:
変数もしくは式の値が、値Aと等しいときの処理
break;
case 値B:
変数もしくは式の値が、値Bと等しいときの処理
break;
default:
変数もしくは式の値が、値Aでも値Bでもないときの処理
break;
}
</script>
case 値A:
変数もしくは式の値が、値Aと等しいときの処理
break;
case 値B:
変数もしくは式の値が、値Bと等しいときの処理
break;
default:
変数もしくは式の値が、値Aでも値Bでもないときの処理
break;
}
</script>
詳しくは、「switch条件文のデフォルト処理をdefault文で指定」のページへ。