if與switch(break穿透)
- 2020 年 7 月 6 日
- 筆記
## if與switch(分支語句)
### 一.if…else if…else
1.語法
if(條件表達式1){
語句體1;
}else if(條件表達式2){
語句體2;
}else{
語句體3;
}
執行流程:
從條件表達式1開始判斷,如果為true,執行語句體1;如果為false,執行條件表達式2,否則執行語句體3。
2.案例
輸入年份判斷閏年還是平年
```java public class Demo3 { public static void main(String[] args) { Scanner sc = new Scanner(System.in);//創建掃描器 System.out.println("請輸入想要判斷的年:"); int year = sc.nextInt();//設置變數接受用戶輸入的年份 if(year % 4 ==0 && year % 100 !=0 || year % 400 == 0){ System.out.println(year + "是閏年"); }else{ System.out.println(year + "是平年"); } } } ```
1.語法
switch(表達式){
case 常量1;
需要執行的語句體1;
break;
case 常量1;
需要執行的語句體1;
break;
……
default:
需要執行的語句體;
break;
}
執行流程:
表達式和case後面的常量值進行比較,和哪個case的值相等,就執行哪個case的語句體;遇到break就結束。(注意事項:寫switch時要注意防止break穿透)
2.案例
```java package com.switch_; public class SwitchDemo3 { public static void main(String[] args) { String level="黃金"; switch(level){ case "黑鐵": System.out.println("黑鐵"); break; case "青銅": System.out.println("青銅"); break; case "白銀": System.out.println("白銀"); break; case "黃金": System.out.println("黃金"); break; default: System.out.println("其他"); } } }
//最終結果為黃金,因為level的值與第四個case的值相匹配,
所以執行裡面的語句體,然後遇到break跳出循環,
如果沒有break,會穿透,輸出的結果就是 黃金 其他
“`