【Java】switch文でbreak文なしは辞めた方が良い理由
switch文ではcase式毎にbreak文を付ける必要があります。
switch文のbreak文は、case式の実行が完了したと判断するために必要となります。
以下は通常のswitch文を使用した実行結果となります。
String str = "test";
switch (str) {
case "test" :
System.out.println("testです");
break;
case "TEST" :
System.out.println("TESTです");
break;
default :
System.out.println("その他です");
break;
}
// 実行結果
testです
上記のプログラムの実行結果では case “test” の条件に合致し、「testです」を出力しています。
その後break文でswitch文の処理を完了させています。
break文がない場合は、処理を完了させることができないため最後まで処理を実行し続けることになります。
String str = "test";
switch (str) {
case "test" :
System.out.println("testです");
case "TEST" :
System.out.println("TESTです");
default :
System.out.println("その他です");
}
// 実行結果
testです
TESTです
その他です
case “test” の条件に合致しましたが、実行結果にはすべて処理されています。
switch文の特性上、break文が見つからない場合、見つかるまでcase内の文の処理を実行し続けるという性質によるものです。
break文がない場合は、switch文にて意図しない処理結果となる可能性があるため、注意が必要です。






コメントを残す