各位同学,今天我们学习一个全新的知识——程序流程控制。什么是流程控制呢?说白了就是控制程序的执行顺序。
先给同学们介绍一下,程序有哪些流程控制、以及Java提供了哪些方案来控制程序的执行顺序?
程序的流程控制一般分为3种:顺序结构、分支结构、循环结构
-
顺序结构:就是不加任何控制,代码从main方法开始自上而下执行
-
分支结构:就是根据条件判断是true还是false,有选择性的执行哪些代码。在Java语言中提供了两个格式if 、 switch
-
循环结构:就是控制某一段代码重复执行。在Java语言中提供了三种格式,for、while、do-while
以上就是我们今天要学习的课程内容
一、分支结构
1.1 if分支
各位同学,接下来我们学习分支结构的第一种形式——if分支。
if它的作用,是用于对条件进行判断,判断的结果只可能有两个值true或者false,然后根据条件判断的结果来决定执行那段代码。
1. if分支的应用场景有哪些呢?
比如,在火车站、地铁站等公共场所,会对过往的旅客测体温。如果体温在37度以内,就属于正常的;如果体温在37读以上,测体温的装置就会报警。
再比如,你在使用微信付钱时,微信内部的程序会先判断你的余额是否足够,如果足够就可以支付成功;如果余额不足,就会提示支付失败。
2. if分支的格式
接下来,我们来看一看if分支在Java语言中长什么样子呢?在Java中if分支有三种格式。
3. if 第一种形式
if 第一种形式的代码格式
if 第一种形式执行流程如下:
如果 条件表达式 为true,就执行下面的语句体
如果 条件表达式 为false,就不执行
// 需求:测量用户体温,发现体温高于37度就报警。
double t = 36.9;
if(t > 37){
System.out.println("这个人的温度异常,把他赶紧带走~~");
}
4. if 第二种形式
if 第二种形式执行流程如下:
如果 条件表达式 为true,就执行下面的语句体1
如果 条件表达式 为false,就执行else下面的语句体2
// 需求2:发红包,你的钱包余额是99元,现在要发出90元
// 如果钱够触发发红包的动作,如果钱不够,则提示:余额不足。
double money = 19;
if(money >= 90){
System.out.println("发红包成功了~");
}else {
System.out.println("余额不足~~");
}
5. if 第三种形式
if 第三种形式执行流程如下:
如果 条件表达式1 为true,就执行下面的代码1;
如果 条件表达式1 为false,就继续判断条件表达式2;
如果 条件表达式2 为true,就执行下面的语句体;
如果 条件表达式2 为false,就继续判断条件语句体3;
如果 条件表达式3 为true,就执行下面的语句体3
如果 条件表达式3 为false,就继续判断后面的表达式;
....
如果前面所有条件表达式判断都为false,就执行最后的else语句中的代码
// 需求3:某个公司有一个绩效系统,根据员工的打分输出对应的绩效级别。[0,60) D [60,80) C [80,90) B [90,100] A
int score = 298;
if(score >= 0 && score < 60) {
System.out.println("您的绩效级别是: D");
}else if(score >= 60 && score < 80){
System.out.println("您的绩效级别是: C");
}else if(score >= 80 && score < 90){
System.out.println("您的绩效级别是: B");
}else if(score >= 90 && score <= 100){
System.out.println("您的绩效级别是: A");
}else {
System.out.println("您录入的分数有毛病~~");
}
6. if 使用的几个常见问题
同学们在第一次写if 代码时,经常一不小心会出现一些问题。下面把同学们可能出现的问题给大家看一看,以后大家要避免出现这些问题。
-
第1个问题:if的()后面不能写分号
;
否则if下面的语句与if无关 -
第2个问题:if后面的大括号,如果只有一行代码,大括号可以省略
7. if 分支小结
关于if分支结构的几种格式,以及各种格式的执行流程,还有if在什么场景下使用我们就讲完了。下面我们总结一下
- if分支有什么作用?举几个应用场景?
- if作用:if分支可以根据条件,选择执行某段程序
- if应用场景
比如1:测量用户体温,发现体温高于37度就报警
比如2:发红包,你的钱包余额是99元,现在要发出90元
比如3:根据员工的绩效打分输出对应的绩效级别
- if分支的格式有几种,执行流程是什么样的?
1.2 switch分支
学完if 分支之后,接下来我们来学习分支结构的第二种形式——switch分支。
1. switch分支的执行流程
switch 分支的作用,是通过比较值来决定执行哪条分支代码。先看一下switch分支的格式和执行流程
下面通过案例来演示一下
/*
需求:做个电子备忘录,在控制台分别输出周一到周五的工作安排
周一:埋头苦干,解决bug
周二: 请求大牛程序员帮忙
周三:今晚啤酒、龙虾、小烧烤
周四:主动帮助新来的女程序解决bug
周五:今晚吃鸡
周六:与王婆介绍的小芳相亲
周日:郁郁寡欢、准备上班。
*/
String week = "周三";
switch (week){
case "周一":
System.out.println("埋头苦干,解决bug");
break;
case "周二":
System.out.println("请求大牛程序员帮忙");
break;
case "周三":
System.out.println("今晚啤酒、龙虾、小烧烤"