在上一章节我们讲解了if选择结构 本章我们学习 switch选择结构 还要知道if选择结构和switch结构的区别 为什么学习了if选择结构还要学习switch选择结构 以及 两种选择结构的运用场合
下面我们来看一个问题
问题:小明参加计算机比赛,
如果获得第1名那么就给他买一个车,
如果获得第2名就给他买一个手机
如果获得第3名就给他买本书
否则就什么都不买
这个题的解决方法可以用多重if选择结构 还可以用switch选择结构下面我们具体的使用每种选择结构都来操作一下
if(成绩==第一名){
买一个车
}else if(成绩==第二名){
买一个手机
}else if(成绩==第三名){
买本书
}else{//什么都没有
什么都不买
}
使用if选择结构我们已经实现了这个问题的解决方案那么怎么用switch结构来完成这个操作呢
首先我们来看一下switch选择结构的基本语法
首先我们看 switch(表达式) 表达式里面 可以是int short byte char 美剧 Sting类型
case 常量:break; 如果等于常量 那么执行 case区域的代码 直到break 结束
case块可以出现很多个 那如果 所有case 后面的常量都没有匹配上 他就会执行default块的部分 同样碰到break 就跳出switch结构
既然我们已经知道了switch的结构语法 下面我们来解决一下上面的问题
int score=1;
switch(score){
case 1:
买一个车
break;
case 2:
买一个手机
break;
case 3:
买本书
break;
default:
什么都不买
break;
}
可以看到如果 swith(表达式)括号里面表达式的值于case 后面的值相等 那么 就会执行 当前case 后面的值 如果switch括号里面的值 在case块没有一个匹配 那么就会进入default里面需要注意的是 每个case块后面都要有break;必须有如果没有的话 那么程序将继续向下执行 直到遇到break才停止
default块顺序可以变动,但要注意其执行顺序。
通常,default块放在末尾,也可以省略
比较一下 多重if与switch选择结构的
相同点 都是用来处理多分支条件的结构
不同点 switch选择结构 只能处理等值条件判断的情况
多重if选择结构 没有switch选择结构的限制 特别适合某个变量处于某个连续区间的情况
给大家流一个作业
如图