流程控制的认识

1 流程控制概述

控制代码的执行顺序就是流程控制

2 流程控制的分类:

顺序结构: 代码从上到下,从左到右依次执行

分支(判断)结构: 根据条件选择执行路径(过滤、筛选)

代码特点: 写得多,执行的少

语句实现: if条件语句三种格式,switch开关选择语句

循环结构: 相同相似的代码逻辑在符合条件的情况下,可以多次反复的执行(反复执行使用)

代码特点: 写得少,执行的多

语句实现: for循环语句,while循环语句,do while循环语句,continue继续语句,break终止语句,return 返回

3 分支结构之if条件语句

(1)if语句的第一种格式

①格式:

if(布尔表达式) { //布尔表达式就是返回一个布尔值的运算公式

语句体;

}

② 说明

1)if,关键字,表示如果的含义

2)if语句后面跟着的小括号,里面必须是boolean类型的值;计算结果为true或者false.

3)语句体,可以是任意逻辑代码

③ 执行流程:

计算布尔表达式的值 要么为true 要么为false

如果计算结果为true,执行语句体

如果计算结果为false,就不执行语句体

④ 注意事项

小括号后面不要加分号,一般来说,有左大括号,就没有分号,有分号,就没有左大括号.

如果if语句体只有一句代码,大括号可以省略,但是建议所有情况都加上大括号,不要省略.

案例1: 某公司现在要给员工进行薪资调整, 工作年龄大于等于5年, 加薪3000元,工龄不够5年的, 没有加薪,使用Scanner输入工作年限,使用salary=8000表示员工基本薪资

(2)if语句的第二种格式

如果...那么 如果...否则 如果... 其他 总有一个执行...

①格式

if (boolean类型条件表达式) {

语句体1;

} else {

语句体2;

}

②执行流程

计算条件表达式的值,要么为true,要么为false

如果条件表达式的值为true,执行语句体1

如果条件表达式的值为false,执行语句体2

③注意事项:

else是关键字, 表示其他, 是除了if条件之外的所有其他

if中的语句体1和else中的语句体2,一定会执行其中一个,不可能全执行或者全不执行

案例2: 某公司现在要给员工进行薪资调整, 工作年龄大于等于5年, 加薪3000元, 工龄不够5年, 加薪

1000元

(3)if语句的第三种格式

①格式(多支判断)

if (条件表达式1) {

语句体1;

} else if (条件表达式2) {

语句体2;

} else if (条件表达式3) {

语句体3;

}

...

} else if (条件表达式n) {

语句体n;

} else {

语句体n+1;

}

②执行流程

计算条件表达式1,如果为true,就执行语句体1

如果条件表达式1为false,计算条件表达式2,如果为true,就执行语句体2

如果条件表达式2为false,就计算条件表达式3...

如果条件表达式1~条件表达式n全都为false,那么就执行语句体n+1

③注意事项

最后的else语句可以有也可以没有.如果有,语句体1~语句体n+1一定会执行其中一句.如果没有,就可能没有输出结果

案例3: 某公司现在要给员工进行薪资调整,根据工龄决定涨薪级别

[0-5): 涨薪2000元

[5-10): 涨薪3000元

[10-15): 涨薪4000元

[15,以上): 涨薪5000元

如果工龄输入错误,提示。

课下案例:输入小明考试成绩,成绩小于60输出:男女混合双打,成绩大于等于60小于80:输出

男子单打,成绩大于等于80 奖励法拉利跑车一辆!

4 分支结构之switch开关语句

(1)基本语法

①switch: 表示英文中的开关,每个条件都像一扇门,开着的,就进门执行,否则就到下一扇门判断

②格式

switch (变量) {

case 常量1:

语句体1;

break;

case 常量2:

语句体2;

break;

...

case 常量n:

语句体n;

break;

default:

语句体n+1;

}

③关键字解释

switch: 开关;

case: 情况;

break: 破坏,退出,结束;

default: 默认; 相当于else

④执行流程:

计算switch小括号中表达式的值,分别和case后的各个常量值匹配

如果和常量1匹配,那么就执行语句体1,执行break,switch语句结束

如果和常量1不匹配,那么就判断是否和常量2匹配,如果匹配就执行语句体2,执行break,switch语句 结束

以此类推,如果常量1~常量n全都没有和表达式的值匹配,那么就执行default中的内容,switch语句结束

案例4:键盘录入一个整数,用于进行星期匹配,数据范围1-7,对应匹配星期一到星期天,如果不是1-7

范围,那么报出数据错误提示信息

⑤switch语句的注意事项

1.switch小括号变量数据类型:

JDK 1.5以前:x 只能是byte, short, char, int

JDK 1.5之后:x 的类型也可以是枚举类型啦!

JDK 1.7之后:x 的类型又多了一个String类型~

其实,x 准确的说,数值型的只可以是 int 类型,但是 byte, short, char 都可以自动转换成 int

所以 x 也可以是byte, short, char。

2.case后面只能跟常量,不能跟变量

3.每个case语句体后面, 要跟上一个break语句,否则就无法结束switch语句,并且发生case穿透.(一直执行下去,break作用就是跳出判断)

4.default语句: 可以写也可以不写.如果不写,就有可能一个语句都执行不到,建议把default语句加上,并break.

5.default语句可以写在任意位置,无论写在什么位置,都是最后去匹配,建议把default语句写在最后.

6.switch语句结束的条件: 遇到break语句; 遇到switch语句右大括号

5 判断的总结

if if-else else-if switch 写代码中如何使用

# 如果有一个判断且不一定需要结果 选择 if

# 如果有一个判断必须需要结果 选择 if-else

# 如果判断条件不固定(范围筛选),且一定需要结果 if - else-if - else

# 如果判断条件固定(且单个条件-变量筛选),且一定需要结果 switch case default

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喝可乐的monkey

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值