if選擇結構只要針對的是區(qū)間判斷
但現(xiàn)實生活中 不只有區(qū)間判斷還有等值判斷
為了解決等值判斷 Java給我們提供了switch選擇結構
## 語法格式:
``` java
switch(表達式){
? ? ? ? case 常量1:
? ? ? ? ? ? //代碼塊1;
? ? ? ? ? ? break;
? ? ? ? case 常量2:
? ? ? ? ? ? //代碼塊2;
? ? ? ? ? ? break;
? ? ? ? ? .....
? ? ? ? default:
? ? ? ? ? ? //代碼塊n
? ? ? ? ? ? break;
}
```
### switch 選擇結構用到了四個關鍵字 :
switch :表示”開關“? ,這個開關就是switch關鍵字后面小括號里的值,小括號里藥房一個整形變量(表達式)或字符型變量(表達式)
case :表示“情況,清形”? ? case后面必須是一個整形或字符型的常量,每個case后常量的值必須各不相同
default :表示“默認”? 即:其他情況都不滿足,可以省略
break: 表示”停止“, 即跳出當前結構
####
## 案例代碼:
```java
import java.util.Scanner;
public class 練習switch {
public static void main(String[] args) {
? ? ? ? Scanner scanner = new Scanner(System.in);
? ? ? ? System.out.println("請輸入你獲得的名次");
? ? ? ? ? ? ? int score = scanner.nextInt();
? ? ? ? switch (score){
? ? ? ? ? ? case 1:
? ? ? ? ? ? ? ? System.out.println("參加麻省理工大學組織的1個月夏令營");
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 2:
? ? ? ? ? ? ? ? System.out.println("獎勵惠普筆記本電腦一部");
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case 3 :
? ? ? ? ? ? ? ? System.out.println("獎勵移動硬盤一個");
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? default:
? ? ? ? ? ? ? ? System.out.println("沒有獎勵");
? ? ? ? ? ? ? ? break;
? ? ? ? }
? ? }
}
```
### break 不能省略
#### 省略的后果是:當某個case后的長量值與switch后小括號中的值相匹配時 執(zhí)行改case快的代碼 后面的case不再是進行條件判斷,而直接執(zhí)行所有case中的代碼知道遇到break結束