語法:express
switch(expression) { case value1 : statement1; break; case value2 : statement2; break; case value3 : statement3; break; default: statement4; }
注意:code
int a=2; switch(a) { case 1 :System.out.println(1); case 2 : System.out.println(2); case 3 :System.out.println(3); break; default:System.out.println(4); }
運行結果:it
2 3
代碼解析:case 2 語句後沒有break,程序繼續向下執行,遇到case 3 語句後的break結束switch語句,故default語句不會執行。io
public class sd { public static void main(String[] args) { int month=2; switch(month) { case 12 : case 1 : case 2 : System.out.println("冬季"); break; case 3 : case 4 : case 5 : System.out.println("春季"); break; case 6 : case 7 : case 8 : System.out.println("夏季"); break; case 9 : case 10 : case 11 : System.out.println("秋季"); break; default:System.out.println("輸入錯誤"); } } }
public class A { public static void main(String[] args) { int a=2; switch(a) { default: System.out.println("no"); case 0: System.out.println(0); case 1: System.out.println(1); } } }
運行結果:class
no 0 1
public class A { public static void main(String[] args) { int a=0; switch(a) { default: System.out.println("no"); case 0: System.out.println(0); case 1: System.out.println(1); } } }
運行結果:語法
0 1
switch 語句的執行邏輯:先找experssion對應的value值,若是存在執行對應語句向下執行直到遇到break;若是不存在則執行default語句再向下執行,遇到break中止。程序