1030 分支语句switch
1030 分支语句switch
知识回顾
单路分支
使用情景
遇到某个情况时,会做某个事
购物满88,减免邮费
满多少,送多少
语法
if(条件){
执行结果
}
复制代码
二路分支
情景
判断一个条件,如果成立,执行a,否则,就执行b
例子
购物判断是否是会员,如果是会员,那么可以打8折,如果不是会员,打95折
格式
if(条件){
条件成立时的情况
} else{
条件不成立时的情况
}
复制代码
多路分支
情景
判断条件1,如果成立,执行事件1。如果不成立,那么判断条件2,条件2如果成立,就执行事件2,不成立那就判断条件n,如果所有条件均不成立,那就执行else分支里的内容
例子
给学生的分数评级
80以上是优秀
60-80之间,是普通
60分以下,是不合格
格式
if(条件1){
条件成立时的情况
} else if(条件2){
条件2成立时的情况
} else if(条件n){
条件n成立时的情况
}
else{
条件不成立时的情况
}
复制代码
switch分支
应用
计算机编程大赛的奖励
需求
韩嫣参加计算机编程大赛
如果获得第一名,将参加麻省理工大学组织的1个月夏令营
如果获得第二名,将奖励惠普笔记本电脑一部
如果获得第三名,将奖励移动硬盘一个
否则,不给任何奖励
分析
解决
另一种分支
switch
格式
switch(变量){
case 值1:
要执行的代码;
break;
case 值n:
要执行的代码;
break;
default:
上述值都不匹配时会进入本分支
break;
}
复制代码
例子
public class 比赛奖励 { public static void main(String[] args) { // 定义一个名次变量 int mc = 9;
switch (mc) {
case 1:
// sout + table
System.out.println("夏令营");
break;
case 2:
System.out.println("笔记本");
break;
case 3:
System.out.println("移动硬盘");
break;
default:
System.out.println("没有任何奖励");
}
System.out.println("程序结束");
}
复制代码
}
switch分支 vs if 分支
特点
代码比if分支更加简洁
缺点
无法处理范围数据
例如:如果分数在60到80之间,打印良好
if(score>60 || score<80){打印良好}