switch case語句:從匹配處順序執行,直到遇到break或結束
Switch語句重點:從匹配處開始順序執行,直到遇到break或結束。(由此可知,新增break語句的重要)
switch語句的基本形式
switch(表示式){
case 常量表達式1: 語句1
case常量表達式2: 語句2
.
.
.
case常量表達式n: 語句n
default: 語句n+1
}
說明
switch後面的括號內的表示式,ANSI標準允許為任何型別.
當表示式與某一個case後面的常量表達式相等時,就執行case後面的語句,若沒有匹配,則執行default後面的語句.
每一個case的常量表達式的值須互不相同,否則便會出現矛盾.
各個case和default的出現次序不影響結果.
執行完一個case語句,流程就轉移到下一個case並繼續執行.因此在case的分支後,加break語句來跳出switch語句.
====================================================================================
以上為百科名片解釋,因需要在使用switch語句時有些發現,寫下來備註:
-------------------------------------------
public static void main(String[] args) {
Scanner console=new Scanner(System.in);
System.out.print("請輸入分數:");
int store=console.nextInt();
switch(store/10){
case 6:System.out.println("及格");
case 7:System.out.println("70分");
case 8:System.out.println("80分");
case 9:System.out.println("90分");
case 10:System.out.println("恭喜您,滿分!");
default:System.out.println("default");
}
}
---------------------------------------------
1、表示式的值若與case後面的常量表達式相等時,若該case語句未加break語句,則從匹配處開始,以後所有case和default 語句順序執行,示例如下:
輸入80,結果如下:
------------
請輸入分數:80
80分
90分
恭喜您,滿分!
default
-----------
2、另外一點,若將default 語句放在最 開始的位置,則若輸入表示式的值不與任何case後跟的常量表達式匹配,直接從default語句開始,順序執行所有語句。
若匹配,則與(1)中相同,也是順序執行所有語句。
--------------------
public static void main(String[] args) {
Scanner console=new Scanner(System.in);
System.out.print("請輸入分數:");
int store=console.nextInt();
switch(store/10){
default:System.out.println("default");
case 6:System.out.println("及格");
case 7:System.out.println("70分");
case 8:System.out.println("80分");
case 9:System.out.println("90分");
case 10:System.out.println("恭喜您,滿分!");
}
}
示例如下:
-------------------------------
請輸入分數:10
default
及格
70分
80分
90分
恭喜您,滿分!
------------------------
綜上可知,若無break,switch 語句從匹配處開始,順序執行,直到遇到break或結束!!!