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

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

相关推荐
paopaokaka_luck1 小时前
基于Spring Boot+Vue的DIY手工社预约管理系统(Echarts图形化、腾讯地图API)
java·spring boot·后端
kk_stoper1 小时前
使用Ruby接入实时行情API教程
java·开发语言·javascript·数据结构·后端·python·ruby
我会冲击波1 小时前
告别flag与status:如何为你的布尔值(boolean)变量优雅命名?
java·后端
工藤学编程1 小时前
分库分表之实战-sharding-JDBC水平分库+分表后:查询与删除操作实战
数据库·spring boot·后端·sql·mysql
码出极致1 小时前
Redisson 分布式锁自动续期机制解析
后端
小塵1 小时前
【DeepSeek 聊天】五分钟部署本地 DeepSeek
人工智能·后端·deepseek
土拨鼠的旅程1 小时前
Go map 源码详解【2】—— map 插入
后端
泊浮目1 小时前
生产级Rust代码品鉴(一)RisingWave一条SQL到运行的流程
大数据·后端·rust
estarlee2 小时前
通用图片搜索-搜狗源免费API接口使用指南
后端
前端极客探险家2 小时前
Spring Boot + Vue.js 全栈开发:从前后端分离到高效部署,打造你的MVP利器!
vue.js·spring boot·后端