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 为程序提供了基于不同输入做出不同反应的能力,是构建条件控制逻辑的基础工具。

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

相关推荐
草捏子4 小时前
从CPU原理看:为什么你的代码会让CPU"原地爆炸"?
后端·cpu
嘟嘟MD4 小时前
程序员副业 | 2025年3月复盘
后端·创业
胡图蛋.5 小时前
Spring Boot 支持哪些日志框架?推荐和默认的日志框架是哪个?
java·spring boot·后端
无责任此方_修行中5 小时前
关于 Node.js 原生支持 TypeScript 的总结
后端·typescript·node.js
吃海鲜的骆驼5 小时前
SpringBoot详细教程(持续更新中...)
java·spring boot·后端
迷雾骑士5 小时前
SpringBoot中WebMvcConfigurer注册多个拦截器(addInterceptors)时的顺序问题(二)
java·spring boot·后端·interceptor
uhakadotcom6 小时前
Thrift2: HBase 多语言访问的利器
后端·面试·github
Asthenia04126 小时前
Java 类加载规则深度解析:从双亲委派到 JDBC 与 Tomcat 的突破
后端
方圆想当图灵6 小时前
从 Java 到 Go:面向对象的巨人与云原生的轻骑兵
后端·代码规范
Moment6 小时前
一份没有项目展示的简历,是怎样在面试里输掉的?开源项目或许是你的救命稻草 😭😭😭
前端·后端·面试