java控制流程
控制流程
概述
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说程序的流程对运行结果有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。
流程控制语句分类
- 顺序结构
- 选择结构
- 循环结构
顺序结构概述
是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。 总的来说:写在前面的先执行,写在后面的后执行
顺序结构图
选择结构
- 也被称为分支结构。
- 选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码。
- Java语言提供了两种选择结构语句 if语句 switch语句
if语句
if语句有三种格式
if语句 第一种格式:
if(关系表达式) { 语句体 }
-
执行流程
- 首先判断关系表达式看其结果是true还是false
- 如果是true就执行语句体
- 如果是false就不执行语句体
if语句 第二种格式
if(关系表达式) { 语句体1; }else { 语句体2; }
- 执行流程
- 首先判断关系表达式看其结果是true还是false
- 如果是true就执行语句体1
- 如果是false就执行语句体2
- 我们前面讲解过三元运算符,它根据比较判断后,给出的也是两个结果,所以,这种情况和if语句的第二种格式很相似,他们在某些情况下应该是可以相互转换的。
- if语句第二种格式和三元运算符
- 三元运算符的操作都可以使用if语句改进,反之不成立
- 什么时候不成立呢?
- 当if语句控制的语句体是一条输出语句的时候,就不成立。因为三元运算符是一个运算符,必须要求有一个结果返回。 而输出语句却不能作为一个返回结果。
if语句 第三种格式
if(关系表达式1) { 语句体1; }else if (关系表达式2) { 语句体2; } … else { 语句体n+1; }
- 执行流程
- 首先判断关系表达式1看其结果是true还是false
- 如果是true就执行语句体1
- 如果是false就继续判断关系表达式2看其结果是true还是false
- 如果是true就执行语句体2
- 如果是false就继续判断关系表达式…看其结果是true还是false …
- 如果没有任何关系表达式为true,就执行语句体n+1。
switch语句
JDK8及以前写法
switch(表达式) { case 值1: 语句体1; break; case 值2: 语句体2; break; … default: 语句体n+1; break; }
JDK14的写法
不带返回值
switch(表达式) { case 值1,值2,值3 -> 语句体1; case 值4,值5,值6 -> 语句体2; case 值7 -> 语句体3; }
通过yield返回一个新值
String result = switch(表达式) { case 值1,值2,值3 -> 语句体1; yield 返回值1; case 值4,值5,值6 -> 语句体2; yield 返回值2; case 值7 -> 语句体3; yield 返回值3; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现