【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块中的代码都会被执行  
}
相关推荐
xiaoye370819 小时前
Java 事务失效场景全解析
java
weixin_4365250720 小时前
Spring Boot 集成 EasyExcel 的最佳实践:优雅实现 Excel 导入导出
java·spring boot·后端
ChinaRainbowSea20 小时前
9. LangChain4j + 整合 Spring Boot
java·人工智能·spring boot·后端·spring·langchain·ai编程
ゞ 正在缓冲99%…20 小时前
leetcode35.搜索插入位置
java·算法·leetcode·二分查找
武昌库里写JAVA20 小时前
Mac下Python3安装
java·vue.js·spring boot·sql·学习
程序员清风20 小时前
滴滴三面:ZGC垃圾收集器了解吗?
java·后端·面试
怀旧,20 小时前
【C++】20. unordered_set和unordered_map
开发语言·c++
alibli20 小时前
一文学会CMakeLists.txt: CMake现代C++跨平台工程化实战
开发语言·c++·系统架构
扯淡的闲人21 小时前
多语言编码Agent解决方案(4)-Eclipse插件实现
java·ide·eclipse
杨杨杨大侠21 小时前
Atlas Mapper 教程系列 (7/10):单元测试与集成测试
java·开源·github