学习要点
- if选择结构
- switch选择结构
if选择结构
单分支if选择结构
语法结构
应用场合
问题:如果王小强的Java考试成绩大于98分,小强就能获得一个iphone8作为奖励。
复杂条件下的if选择结构
问题:小强Java成绩大于98分,而且音乐成绩大于80分,老师奖励他;或者Java成绩等于100分,音乐成绩大于70分,老师也可以奖励他。
逻辑运算符
运算符 |
表达式 |
说明 |
&& |
条件1 && 条件2 |
仅仅两个条件同时为真,结果为真 |
|| |
条件1 || 条件2 |
只要两个条件有一个为真,结果为真 |
! |
! 条件 |
条件为真时,结果为假 条件为假时,结果为真 |
解决方案:
需要注意:逻辑运算符的短路问题和优先级问题。例如“||”符号前一个条件成立的话就不会计算后一个条件。
双分支if选择结构
语法结构
流程图
如何绘制流程图
圆角矩形:程序的开始和结束
矩形:执行
菱形:判断
梯形:输入输出
箭头:程序流程
上机练习
需求描述:如果体彩中了500万,我买车、资助希望工程、去欧洲旅游;如果没中,我买下一期体彩,继续烧高香。
实现:1、画出流程图;2、代码实现。
上机练习
需求描述:从键盘输入4位数字学号。四位数字平均数取整数,结果等于产生的随机数字即为幸运会员。
实现:1、画出流程图;2、代码实现。
提示:1、使用if-else选择结构,输出中奖或者感谢支持信息;2、0-9随机数生成方法:int random=(int)(Math.random()*10);
多分支if选择结构
问题:学员成绩评测
成绩>=80 :良好
成绩>=60 :中等
成绩<60 :差
解决方案
- 将成绩分成几个连续区间判断
- 单个if选择结构无法完成
- 多个if选择结构很麻烦
- 使用多重if选择结构
多分支选择结构语法分析
上机练习
需求描述:我想买车,买什么车决定于我在银行有多少存款
如果我的存款超过500万,我就买法拉利
否则,如果我的存款超过100万,我就买宝马
否则, 如果我的存款超过50万,我就买奔驰
否则, 如果我的存款超过10万,我就买大众
否则, 如果我的存款10万以下 ,我买捷安特
要求:代码实现。
注意:多分支选择结构条件顺序问题。
嵌套if选择结构
问题:学校举行运动会,百米赛跑跑入10秒内的学生有资格进决赛,根据性别分别进入男子组和女子组。
解决方案:
判断是否能够进入决赛
在确定进入决赛的情况下,判断是进入男子组,还是进入女子组
使用嵌套if选择结构
嵌套if选择结构语法分析
上机练习:请写出这一问题的代码实现
switch选择结构
问题:王小强参加计算机编程大赛
如果获得第一名,将参加麻省理工大学组织的1个月夏令营
如果获得第二名,将奖励惠普笔记本电脑一部
如果获得第三名,将奖励移动硬盘一个
否则,不给任何奖励
解决方案:
使用多重if选择结构实现:缺点——结构复杂,啰嗦
使用switch选择结构解决:条件——等值判断
switch选择结构语法分析
注意:break的用法。
例如:1,3,5吃快餐,2,4,6,7吃大餐,如何实现?
上机练习:实现学生信息管理系统菜单的实现
多重if选择结构和switch选择结构的区别
选择结构 |
相同点 |
不同点 |
switch选择结构 |
都是用来处理多分支条件的结构 |
只能处理等值条件判断的情况,而且条件必须是整型变量、字符型变量或者字符串 |
多重if选择结构 |
没有switch选择结构的限制,特别适合某个变量处于某个连续区间时的情况 |