【Java】流程控制(条件语句、循环语句、分支语句和异常处理)

1、简介

  • 流程控制是编程中非常重要的一部分,它决定了程序执行的顺序和逻辑。在Java中,有几种主要的流程控制结构,包括条件语句、循环语句、分支语句和异常处理。

2、条件语句

2.1简介

  • 条件语句用于根据某个条件是否成立来决定执行哪段代码。Java中最常用的条件语句是if语句,if-else语句和switch语句。

2.2内容

1、if 语句

java 复制代码
if (condition) {  
    // 如果condition为真,则执行这里的代码  
}

2、if-else 语句

java 复制代码
if (condition) {  
    // 如果condition为真,则执行这里的代码  
} else {  
    // 如果condition为假,则执行这里的代码  
}

3、if-else if-else 语句

java 复制代码
if (condition1) {  
    // 如果condition1为真,则执行这里的代码  
} else if (condition2) {  
    // 如果condition1为假且condition2为真,则执行这里的代码  
} else {  
    // 如果condition1和condition2都为假,则执行这里的代码  
}

4、switch 语句

java 复制代码
//switch语句用于根据表达式的值来选择执行多个代码块之一。
switch (expression) {  
    case value1:  
        // 如果expression等于value1,则执行这里的代码  
        break;  
    case value2:  
        // 如果expression等于value2,则执行这里的代码  
        break;  
    // ... 可以有多个case  
    default:  
        // 如果expression的值不匹配任何case,则执行这里的代码  
}

3、循环语句

3.1简介

  • 循环语句允许程序重复执行一段代码,直到满足某个条件为止。Java中有三种主要的循环语句:for循环、while循环和do-while循环。

3.2内容

1、for 循环

java 复制代码
for (initialization; condition; update) {  
    // 循环体,只要condition为真就执行  
}

2、while 循环

java 复制代码
while (condition) {  
    // 循环体,只要condition为真就执行  
}

3、do-while 循环

java 复制代码
do {  
    // 循环体,至少执行一次  
} while (condition); // 然后检查condition,如果为真则继续循环

4、分支语句

4.1简介

  • 虽然if-else和switch可以被视为分支语句,但这里指的是控制程序流程的其他语句,如break、continue和return。

4.2内容

1、break 语句

  • break语句用于立即退出最内层的循环或switch语句。

2、continue 语句

  • continue语句用于跳过当前循环的剩余部分,并开始下一次迭代。

3、return 语句

  • return语句用于从方法中返回一个值并立即退出该方法。

5、异常处理

5.1简介

  • 异常处理是Java中用于处理运行时错误的重要机制。当程序遇到无法处理的错误时,它会抛出一个异常。程序可以使用try-catch块来捕获并处理这些异常。

5.2内容

java 复制代码
try {  
    // 尝试执行的代码块  
    // 如果发生异常,则跳到相应的catch块  
} catch (ExceptionType1 e) {  
    // 处理ExceptionType1类型异常的代码  
} catch (ExceptionType2 e) {  
    // 处理ExceptionType2类型异常的代码  
}  
// ... 可以有多个catch块  
finally {  
    // 无论是否发生异常,finally块中的代码都会被执行  
}
相关推荐
§ꦿCFོ༉29 分钟前
嵌入式八股文—C语言入门学习(四)
c语言·开发语言·学习
投图匠1 小时前
十种不同风格的 CTP接口 框架
开发语言·python
吴名氏.1 小时前
Java转AI Agent教程(第十三周)混合检索与重排
java·数据库·人工智能·ai·ai agent
.痞老板.2 小时前
java ee--多线程(进阶)
java·java-ee
深入云栈4 小时前
Netty 4.2.x 源码深度解析 (二十三):ByteBuf 核心设计 —— 索引、类型与零拷贝
java·后端·架构
爱笑的k114 小时前
nano-vllm 源码剖析:千行 Python 手写离线推理引擎的调度、显存与并行时序
开发语言·python·vllm
wang_shu_mo_ran5 小时前
MyBatis 从入门到进阶(一)
java·spring·mybatis
X1A0RAN5 小时前
PPT 图片批量处理教程:导出全部幻灯片 · 提取全部素材
开发语言·javascript·powerpoint
量化分析码农6 小时前
股票历史数据的复权参数对照:多级别返回的字段与数值差异
java·javascript·后端
猫猫不是喵喵.6 小时前
从0到1创建一个微服务项目
java·数据库·微服务·1024程序员节