33. Java 流程控制语句 If-Then-Else 语句

33. Java 流程控制语句 If-Then-Else 语句

if-then-else 语句是条件控制流的核心,用于根据条件的真假执行不同的代码块。这种语句能够为程序提供不同路径的决策逻辑,是编程中最基础、最常见的控制结构之一。它可以帮助程序根据不同的条件作出不同的反应。👇


基本语法
java 复制代码
if (condition) {
    // 如果条件为 true,执行这部分代码
} else {
    // 如果条件为 false,执行这部分代码
}
  • condition :一个布尔条件表达式,返回 true 或 false。
  • if 代码块 :如果条件为 true,执行。
  • else 代码块 :如果条件为 false,执行。

示例:应用制动器

在以下 applyBrakes() 方法中,if-then-else 语句控制了自行车的制动逻辑。只有在自行车运动时,制动器才会应用:

java 复制代码
void applyBrakes() {
    if (isMoving) {
        currentSpeed--;  // 自行车在运动时减速
    } else {
        System.err.println("The bicycle has already stopped!");  // 如果自行车已经停止,打印错误消息
    }
}
  • 如果 isMoving 为 true(自行车正在运动),则会减速。
  • 如果 isMoving 为 false(自行车已停止),则打印错误消息。

复杂的 If-Then-Else 语句

if-then-else 语句也可以通过多个 else if 来处理多个条件判断,这在需要进行多重判断时非常有用。👇

示例:根据分数分配成绩

以下是一个示例程序,根据学生的测试分数来决定成绩:

java 复制代码
class IfElseDemo {
    public static void main(String[] args) {
        int testscore = 76;  // 测试分数
        char grade;          // 存储成绩

        if (testscore >= 90) {
            grade = 'A';  // 如果分数 >= 90,成绩为 A
        } else if (testscore >= 80) {
            grade = 'B';  // 如果分数 >= 80,成绩为 B
        } else if (testscore >= 70) {
            grade = 'C';  // 如果分数 >= 70,成绩为 C
        } else if (testscore >= 60) {
            grade = 'D';  // 如果分数 >= 60,成绩为 D
        } else {
            grade = 'F';  // 否则成绩为 F
        }

        System.out.println("Grade = " + grade);  // 输出成绩
    }
}
程序输出:
java 复制代码
Grade = C
解释:
  • testscore 的值为 76,程序依次检查条件:
    • testscore >= 90 结果为 false,继续检查下一个条件;
    • testscore >= 80 仍为 false,继续检查;
    • testscore >= 70 结果为 true,程序执行 grade = 'C'; 并跳出 if-else 结构。
关键点:
  • 短路行为 :一旦 if-else 中的某个条件为 true,后续条件将不会再检查,程序会跳出 if-else 结构。
  • else if :用于处理多个条件。在每个 else if 子句中,程序依次检查每个条件,直到某个条件成立。
  • else :如果所有的 if 和 else if 条件都未满足,程序会执行 else 子句中的代码。

📚 总结

  • if-then-else 语句 :根据条件判断执行两种不同的代码块。如果条件为 true,执行 if 代码块;如果条件为 false,执行 else 代码块。
  • 多个条件判断 :通过 else if 语句,可以检查多个条件,确保程序能处理复杂的判断逻辑。
  • 灵活性 :if-then-else 为程序提供了基于不同输入做出不同反应的能力,是构建条件控制逻辑的基础工具。

这种结构在所有编程任务中都非常重要,能够有效地帮助开发人员处理不同情况的决策和判断!💡

相关推荐
金銀銅鐵4 小时前
[Java] 展示添加元素时 ArrayList 的内部变化
java·后端·ai编程
斌糖雪梨5 小时前
spring auth 核心流程详解
java·后端·spring
高频因子挖掘机6 小时前
本地已有一年历史数据,第二天更新别只拉“昨天一天”:量化 K 线增量同步实践
后端·github·api
高频因子挖掘机6 小时前
只补缺失日期,不重拉全部历史:增量更新 K 线应该怎么设计?
后端·github·api
Gopher_HBo7 小时前
Go reflect 包动态调用与方法反射 —Call、MakeFunc 与性能
后端
码事漫谈8 小时前
人设带处境,AI 更入戏
后端
掘金酱8 小时前
【10.24 特别活动】AI 时代,程序员的新饭碗在哪里?
前端·人工智能·后端
leeyi8 小时前
缓存同步之后,还要考虑没收到消息的节点
后端·性能优化·erlang
IT_陈寒8 小时前
Redis的原子性竟然失效了?记一次分布式锁翻车实录
前端·人工智能·后端
shengjk18 小时前
既然 gRPC 底层也是 HTTP,为什么大厂还非要死磕 RPC?真相全在这!
后端