选择结构的三种形式(选择结构有哪三种)
导语:3-选择结构
之前的都是顺序结构,代码从上往下执行,一行不拉。流程控制的目标就是可能有不同的执行路径,有的会不执行

最基本的条件结构是if
基本语法是 if (条件,boolean值){//要执行的语句}

简单的if
if else这种结构是二选一,必须有一个条件会被执行

更复杂的条件,比如多门课,都是80分以上才有奖励等等,此时就需要用逻辑运算符,根据实际情况确定是用 && 还是 ||:

复杂的条件组合
更多的条件:用if else if else if.. else,这是多选一的情况:

多选一
对于多重if中的条件顺序,是不是可以 随便调整呢?看下面的例子:

错误的判定
结果不对,说明顺序不能随便调整,这种类似区间的写法,如果不是按照顺序来处理,条件必须包含两头,对于上面的程序,作如下的调整即可输出正确的结果:

同时,if还可以嵌套,if中包含if,理论上可以无限嵌套。流程图如下:


嵌套if
最后,看看switch,适用于等值判断的情况,其中的表达式只能是int,char,short,byte和string和枚举类型:


switch常见的错误包括case表达式值重复,没有break导致后面的条件被执行等等

switch和if的比较
习题:
1 换购:一家商场推出购物换购功能,购买了一定数量的商品,可以低价换购其他商品
规则如下:
1:购物超过50元,加1元换购500毫升可乐;
2:购物超过100元,加2元换购1000毫升果汁;
3:购物超过100元,加4元换购炫迈口香糖一瓶;
4:购物超过200元,加38元换购一瓶进口红酒;
5:购物超过200元,加15元换购1袋面粉;
0:不换购
输入用户的购物金额,以及参与的换购活动,输出最后换购的商品以及实际支付的金额(可以不参与换购)
2:
一商场普通顾客购物满100元打9折;会员购物打8折;会员购物满200元打7.5折,输入是否是会员,以及购物金额,计算实际要支付的金额
免责声明:本站部份内容由优秀作者和原创用户编辑投稿,本站仅提供存储服务,不拥有所有权,不承担法律责任。若涉嫌侵权/违法的,请反馈,一经查实立刻删除内容。本文内容由快快网络小畅创作整理编辑!