Skip to content

Java 条件语句笔记

Java 中的 条件语句 用于根据特定的布尔表达式(即 truefalse)执行不同的代码块。以下是常见的几种条件语句及其用法。


1. if-else 语句

if-else 是 Java 最基本的条件语句,用于在两种情况之间选择。

基本语法:
java
if (布尔表达式) {
    // 当布尔表达式为 true 时执行的代码块
} else {
    // 当布尔表达式为 false 时执行的代码块
}
示例:
java
int age = 18;
if (age >= 18) {   // 布尔表达式:判断是否大于等于18岁
    System.out.println("你已经成年了"); // 成年人操作
} else {
    System.out.println("你还未成年");     //未成年人操作
}
注意事项:
  • ifelse 之间必须有大括号 {},除非只有一条语句。
  • 布尔表达式可以是任何返回布尔值的条件(如 <, >, ==, != 等)。

2. 嵌套 if-else

如果需要更复杂的判断逻辑,可以在 ifelse 内部再添加另一个 if-else 结构。

示例:
java
int score = 85;
if (score >= 90) {
    System.out.println("优秀");
} else if (score >= 70) { // 嵌套的条件判断
    System.out.println("良好");
} else {
    System.out.println("及格");
}
解释:
  • else if 表示“否则如果”,用于在多个条件下依次判断。
  • 如果第一个条件不满足,才会执行下一个条件。

3. switch-case 语句

switch-case 是另一种多分支选择结构,通常用于根据变量的值匹配不同的情况。它比 if-else if 更简洁且高效(尤其是当分支较多时)。

基本语法:
java
switch (表达式) {
    case 值1:
        // 代码块1;
        break; // 可选,用于跳过后续的 fall-through
    case 值2:
        // 代码块2;
        break;
    default:   // 所有情况都不满足时执行
        // 默认操作;
}
示例:
java
int day = 3;
switch (day) {
    case 1:
        System.out.println("星期一");
        break;
    case 2:
        System.out.println("星期二");
        break;
    case 3:
        System.out.println("星期三");
        break;
    default:
        System.out.println("其他情况");
}
注意事项:
  • switch 表达式只能是 整数字符串类型(从 Java 7 开始支持字符串)。
  • 每个 case 后面必须有 break;,否则会“fall through”到下一个分支。

4. 三元运算符

Java 提供了一个简洁的条件判断语法——三元运算符(Ternary Operator),可以简化简单的 if-else 结构。

基本语法:
java
布尔表达式 ? 表达式1 : 表达式2;
示例:
java
int age = 18;
String result = (age >= 18) ? "成年" : "未成年";
System.out.println(result); // 输出:成年
解释:
  • 如果布尔表达式为 true,则结果取 表达式1;否则取 表达式2
  • 三元运算符的结果可以是任何类型(如字符串、数值等)。

5. 条件语句的注意事项

  • 布尔表达式的书写要清晰,避免复杂的逻辑导致难以理解代码。
  • 使用有意义的变量名和注释,提高代码可读性。
  • 避免过度嵌套 ifelse if 结构,尽量使用 switch-case 处理多个分支。

6. 综合示例

以下是一个结合了多种条件语句的完整程序:

java
public class ConditionExample {
    public static void main(String[] args) {
        int score = 85;
        boolean isPass = (score >= 70); // 判断是否及格

        if (isPass) { 
            System.out.println("你已经通过考试!");
            switch(score / 10) { // 根据分数的十位数判断等级
                case 9:
                    System.out.println("优秀");
                    break;
                case 8:
                    System.out.println("良好");
                    break;
                default: 
                    System.out.println("及格");
            }
        } else {
            System.out.println("你需要补考!");
            int grade = (score / 10);
            if (grade == 7) { // 特殊情况处理
                System.out.println("你已经尽力了,加油!");
            }
        }

        String result = isPass ? "通过" : "未通过";
        System.out.println(result); // 输出:通过或未通过
    }
}
解释:
  • 使用 if 判断是否及格。
  • 在内部使用 switch-case 根据分数进一步细分等级。
  • 使用三元运算符简化结果输出。

总结

Java 的条件语句包括 if-elseswitch-case三元运算符,它们各有特点:

  • if-else 适合简单的两分支判断;
  • switch-case 适合多分支的场景;
  • 三元运算符则适用于非常简洁的情况。

选择合适的条件语句可以提高代码的可读性和效率。