Java学习笔记03
1. 流程控制语句
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。所以,我们必须清楚每条语句的执行流程。而且,很多时候要通过控制语句的执行顺序来实现我们想要的功能。
1.1 分类
- 顺序结构
- 判断和选择结构(if, switch)
- 循环结构(for, while, do…while)
1.2 顺序结构
顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。
2. 判断结构
2.1 if语句1
格式
if (关系表达式) {
语句体;
}
执行流程
- 计算关系表达式的值
- 如果关系表达式的值为
true
,就执行语句体/如果关系表达式的值为false
,就不执行语句体 - 继续执行后面的语句
2.2 if语句2
格式
if (关系表达式) {
语句体1;
} else {
语句体2;
}
执行流程
- 计算关系表达式的值
- 如果关系表达式的值为
true
,就执行语句体1/如果关系表达式的值为false
,就执行语句体2 - 继续执行后面的语句
2.3 if语句3
格式
if (关系表达式1) {
语句体1;
} else if (关系表达式2) {
语句体2;
}
…
} else {
语句体n+1;
}
执行流程
- 计算关系表达式1的值
- 如果关系表达式1的值为
true
,就执行语句体1/如果关系表达式1的值为false
,就计算关系表达式2的值 - 如果关系表达式2的值为
true
,就执行语句体2/如果关系表达式2的值为false
,就计算关系表达式3的值 - …
- 如果所有关系表达式的值都为
false
就执行语句体n+1 - 继续执行后面的语句
3. 选择结构
格式
switch (表达式) {
case 1:
语句体1;
break;
case 2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
执行流程
- 计算表达式的值
- 和case后面的值依次比较,遇到对应的值就会执行相应的语句,执行过程中,遇到break就会结束
- 如果所有的值都不匹配,就会执行default语句体,然后结束
扩展
default语句可以放任意位置,也可以省略
不写break会引发case穿透
switch在JDK12中的新特性
int number = 10; switch (number) { case 1 -> System.out.println("一"); case 2 -> System.out.println("二"); case 3 -> System.out.println("三"); default -> System.out.println("其他"); }
4. 循环结构
循环语句可以在满足循环条件的情况下,重复执行某一段代码,这段被重复执行的代码称为循环语句。循环时,需要在合适的时候把循环判断条件修改为false
,从而结束循环,否则循环将一直执行下去,形成死循环。
4.1 for循环
格式
for (初始化语句; 条件判断语句; 条件控制语句) {
循环语句;
}
解释
- 初始化语句:用于表示循环开始时的起始状态
- 条件判断语句:用于表示循环的条件
- 循环语句:用于表示循环重复执行的内容
- 条件控制语句:用于表示循环每次执行变化的内容
执行流程
- 执行初始化语句
- 执行条件判断语句,如果值为
true
,继续执行,如果值为false
,循环结束 - 执行循环语句
- 执行条件控制语句
- 回到2继续
4.2 while循环
格式
while (条件判断语句) {
循环语句;
}
4.3 do…while循环
格式
do {
循环语句;
} while (条件判断语句);
注意:
- while与do…while的区别:
- while是先进行判断,满足条件再执行
- do…while是先执行一次,再进行判断,满足条件再继续执行
- do…while不常用
- 循环次数或者循环范围已知时,使用for循环
- 循环次数和循环范围都未知,但知道循环结束的条件,使用while循环
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端