if与switch(break穿透)

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

posted @ 2020-07-06 21:55  皂皂皂皂皂---  阅读(304)  评论(0编辑  收藏  举报