跳转至

条件语句

定义

条件语句是Java中用于根据不同的条件执行不同代码块的控制结构,主要包括if-else和switch两种形式。

作用

条件语句在实际开发中具有以下重要价值: 1. 流程控制:根据条件执行不同的业务逻辑 2. 数据验证:对输入数据进行合法性检查 3. 状态判断:处理不同的程序状态 4. 分支处理:实现多分支的业务逻辑 5. 错误处理:进行异常情况的处理

图表说明

IF - ELSE 流程

graph TD
    A[开始] --> B{分数 >= 90?}
    B -->|是| C[输出: 优秀]
    B -->|否| D{分数 >= 80?}
    D -->|是| E[输出: 良好]
    D -->|否| F{分数 >= 60?}
    F -->|是| G[输出: 及格]
    F -->|否| H[输出: 不及格]
switch 流程
graph TD
    I[开始] --> J{等级值}
    J -->|A| K[输出: 优秀]
    J -->|B| L[输出: 良好]
    J -->|C| M[输出: 及格]
    J -->|其他| N[输出: 不及格]
嵌套判断 & 件运算 流程
graph TD
    O[开始] --> P{年龄 >= 18?}
    P -->|是| Q{是不是学生?}
    P -->|否| R[输出: 未成年人]
    Q -->|是| S[输出: 成年学生]
    Q -->|否| T[输出: 成年人]

    U[开始] --> V{a > b?}
    V -->|是| W[输出: a]
    V -->|否| X[输出: b]

例子

public class ConditionDemo {
    public static void main(String[] args) {
        // if-else示例
        int score = 85;
        if (score >= 90) {
            System.out.println("优秀");
        } else if (score >= 80) {
            System.out.println("良好");
        } else if (score >= 60) {
            System.out.println("及格");
        } else {
            System.out.println("不及格");
        }

        // switch示例
        String grade = "B";
        switch (grade) {
            case "A":
                System.out.println("优秀");
                break;
            case "B":
                System.out.println("良好");
                break;
            case "C":
                System.out.println("及格");
                break;
            default:
                System.out.println("不及格");
        }

        // 嵌套条件示例
        int age = 20;
        boolean isStudent = true;
        if (age >= 18) {
            if (isStudent) {
                System.out.println("成年学生");
            } else {
                System.out.println("成年人");
            }
        } else {
            System.out.println("未成年人");
        }

        // 条件运算符示例
        int a = 10, b = 20;
        int max = (a > b) ? a : b;
        System.out.println("较大值: " + max);
    }
}

执行结果

良好
良好
成年学生
较大值: 20

详细说明

  1. if-else结构:

    • 支持单分支、双分支和多分支
    • 条件表达式必须返回布尔值
    • 可以嵌套使用
    • 执行效率较高
  2. switch结构:

    • 支持整数、字符、字符串类型
    • 每个case后需要break
    • 可以包含default分支
    • 适合多分支场景
  3. 条件运算符:

    • 三元运算符 ?:
    • 简洁的条件判断
    • 适合简单的二选一场景
    • 可读性较差

推演说明

  1. if-else执行流程:

    • 计算条件表达式
    • 判断条件结果
    • 执行对应代码块
    • 继续后续代码
  2. switch执行流程:

    • 计算switch表达式
    • 匹配case值
    • 执行对应代码块
    • 遇到break退出

注意事项

  1. 条件表达式要避免过于复杂
  2. 注意if-else的嵌套层次
  3. switch语句要记得写break
  4. 合理使用条件运算符
  5. 注意代码的可读性