public class HelloWorld {
public static void main(String[] args) {
int num=1;
switch(num){
case 1:
System.out.println("1");
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
break;
default:
System.out.println("4");
}
}
小弟學習Java時遇到的問題,:關於上述代碼,如果把case1後面的break去掉,我能理解case1的語句能執行,到case2後面的break終止,但是switch中num的值和case2後面的值不匹配,為什麼會執行case2後面的語句呢?
十分感謝幫忙的大神!
switch這個開關,他會去找是否有和num這個數值相等的case 值,有的話就會執行後面的輸出語句,注意,一旦判斷成功了,不管後面的case 值是多少,程序都會
執行相應的輸出語句,所以,通常情況下為了避免此錯誤,都會在每個case的邏輯語句後面加上一個 break,一旦執行成功,就會跳出switch。