switch文(Java、C#、C)は複数の処理を分岐するときに使用します。
注意しなければいけないのが、分岐処理はif文のように{}で囲む必要はなく、breakが現れるとswitch文が終了するということです。
つまり、breakが呼ばれなければ、勝手に次のcaseラベルの中に侵入してしまうのです。

以下の例は、「case 0:」にbreakがないために「case 1:」に侵入してしまう例です。
[NG例][Java]
public static void main(String[] args) {
int n = 0;

switch (n) {
case 0:
System.out.println("ケース0。");
// break文を記述していない。
case 1:
System.out.println("ケース1。");
break;
case 2:
System.out.println("ケース2。");
break;
default:
System.out.println("デフォルト。");
}
}

[出力結果]
ケース0。
ケース1。

break忘れのバグを防ぐには、case処理の最後には必ずbreakを書くという癖をつけることが大切です。

にほんブログ村 IT技術ブログへ
にほんブログ村