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

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

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


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

示例:应用制动器

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

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

复杂的 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 :如果所有的 ifelse if 条件都未满足,程序会执行 else 子句中的代码。

📚 总结

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

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

相关推荐
leobertlan7 小时前
2025年终总结
前端·后端·程序员
面向Google编程8 小时前
从零学习Kafka:数据存储
后端·kafka
易安说AI9 小时前
Claude Opus 4.6 凌晨发布,我体验了一整晚,说说真实感受。
后端
易安说AI9 小时前
Ralph Loop 让Claude无止尽干活的牛马...
前端·后端
易安说AI9 小时前
用 Claude Code 远程分析生产日志,追踪 Claude Max 账户被封原因
后端
颜酱10 小时前
图结构完全解析:从基础概念到遍历实现
javascript·后端·算法
Coder_Boy_12 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
掘金者阿豪13 小时前
关系数据库迁移的“暗礁”:金仓数据库如何规避数据完整性与一致性风险
后端
ServBay14 小时前
一个下午,一台电脑,终结你 90% 的 Symfony 重复劳动
后端·php·symfony
sino爱学习14 小时前
高性能线程池实践:Dubbo EagerThreadPool 设计与应用
java·后端