【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块中的代码都会被执行  
}
相关推荐
XS0301066 小时前
Spring AI:两种内置 Advisor 快速实现 RAG
java·人工智能·spring
mifengxing6 小时前
LeetCode 238 除自身以外数组的乘积|无除法O(n)时间+O(1)空间双解法
java·算法·leetcode
猿长大人6 小时前
C# | 函数式编程入门
开发语言·c#·.net
W_326006 小时前
Python 组合数据类型——序列(列表 & 元组)
开发语言·python
Billy121386 小时前
Day10-C++20 Ranges(上):惰性求值与组合式数据处理
开发语言·c++进阶学习
有点。6 小时前
C++深度优先搜索(二)
开发语言·c++·深度优先
二进制杯莫停6 小时前
A和B环境的python版本相同,B环境无法安装pip依赖,离线安装
开发语言·python·pip
小林敲代码77887 小时前
Spring Boot 3 升级踩坑:aj-captcha 行为验证码底图加载失效
java·spring boot·后端
l1t7 小时前
kryonix提交的DuckDB 统一并优化标量执行器基础设施 - #24564 PR
开发语言·数据库·数据仓库·sql
带刺的坐椅7 小时前
Solon I18n:三种解析器,零样板代码
java·国际化·i18n·solon·多语言