1. 程式人生 > >switch case語句:從匹配處順序執行,直到遇到break或結束

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或結束!!!