switch文とは?
switch文とは?
複数の選択肢を用意し一致する箇所の処理を実行する構文
(式と一致するラベルの位置へ処理を移す)
例えば、ある出来事について満足ーやや満足ー普通ーやや不満ー不満かどうかを調べたい
とき
など選択肢が複数あるが、当てはまるのは1つだけという時に使うと便利
〈構文〉
switch(式)//式は変数宣言により式の値が代入された変数か計算式
→いずれの場合も式の結果は整数でなければならない
理由は式の結果(数値)をどこのラベル(数値)と一緒かを判断する材料にしたいから
ラベル case 定数:(これは実数値 ex.1,2,3)
実行する文;
→式の結果の数値と一緒のラベルの位置へ移動した後は、
swith文の終わる最後まで順にceseの中に記述された実行式が実行されていく
ただこれでは、「やや満足」とだけ出力したいのに、
一度その地点にいくと、続けて
「やや満足 普通 やや不満 不満」と出力されていく
➡︎そこで本来実行したい文が終わる直後に文から飛び出すためにbreakと記述する
break
これを書くことで本来出力したかった「やや満足」が出力されると自動で終了する
ex.
int num=2;
swith(num){
case 1:
System.out.println("満足");
break;
case 2:
System.out.println("やや満足");
break;
case 3:
System.out.println("普通");
break;
case 4:
System.out.println("やや不満");
break;
case 5:
System.out.println("不満");
}
この場合、num=2なので、
ラベルcase 2の位置へ移動し、「やや満足」と出力された後、break文で飛び出す
・複数のラベルを選択したい時
複数のラベルを続けて記述する
ex. swith(num){
case 1:
case 2:
実行文①
→この場合はnumに代入された値が1または2の場合に実行文①が実行される