## 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,会穿透,输出的结果就是 黄金 其他
```