Jupyter AI
📢 新上线功能: 最新题库(点击体验),帮助大家更好实践编程和 AI 练习题!

17 控制结构之switch选择语句

📅发表日期: 2024-08-10

🏷️分类: Java小白

👁️阅读量: 0

在上一章中,我们学习了if条件语句,它使我们能够根据条件的布尔值来控制程序的流向。对于涉及多个条件的情况,switch语句提供了一种更清晰、更简洁的方式来处理不同的分支。今天,我们将深入探讨switch语句的用法及其适用场景。

概述

switch语句是控制程序执行流的一种结构。其基本语法结构如下:

switch (表达式) {
    case1:
        // 执行语句1
        break;
    case2:
        // 执行语句2
        break;
    // 可以有任意数量的 case
    default:
        // 默认执行语句
}

语法要点

  1. 表达式:必须是charbyteshortintString或枚举类型。
  2. case:每个case后面可以跟一个常量值,用于匹配表达式的结果。
  3. break语句:用于终止switch语句并跳出。如果没有break,程序将继续执行后面的case(典型的做法称为“fall-through”)。
  4. default关键字:可选,用于匹配所有未被case处理的值。

示例

让我们来看一个简单的示例,使用switch语句来根据星期的数字显示相应的星期几名称。

public class SwitchExample {
    public static void main(String[] args) {
        int day = 3; // 假设今天是星期三

        switch (day) {
            case 1:
                System.out.println("星期一");
                break;
            case 2:
                System.out.println("星期二");
                break;
            case 3:
                System.out.println("星期三");
                break;
            case 4:
                System.out.println("星期四");
                break;
            case 5:
                System.out.println("星期五");
                break;
            case 6:
                System.out.println("星期六");
                break;
            case 7:
                System.out.println("星期日");
                break;
            default:
                System.out.println("输入无效的天数");
        }
    }
}

在这个例子中,day变量被赋值为3,因此程序将输出星期三

fall-through示例

如果我们想让多个条件输出相同的结果,可以不使用break,实现“fall-through”效果。例如,如果我们想在输出的情况下同时处理星期六星期日

public class FallThroughExample {
    public static void main(String[] args) {
        int day = 6; // 假设今天是星期六

        switch (day) {
            case 6:
            case 7:
                System.out.println("周末");
                break;
            default:
                System.out.println("工作日");
        }
    }
}

在这里,如果day67,程序将输出周末

注意事项

  1. 避免遗漏break:使用switch时,需要仔细考虑是否需要break语句。遗漏break可能会导致意想不到的输出。
  2. 分支数switch语句通常适用于条件数量较多的情况,特别是当这些条件是整数或字符类型时。当条件简单时,使用if语句显得更为简洁。
  3. 使用枚举类型:在Java 5及以后的版本中,推荐使用枚举作为switch语句的条件,这使得代码更具可读性且减少出错的机会。
enum Color {
    RED, GREEN, BLUE
}

public class EnumSwitchExample {
    public static void main(String[] args) {
        Color color = Color.GREEN;

        switch (color) {
            case RED:
                System.out.println("红色");
                break;
            case GREEN:
                System.out.println("绿色");
                break;
            case BLUE:
                System.out.println("蓝色");
                break;
            default:
                System.out.println("未知颜色");
        }
    }
}

在上面的代码中,我们使用了一个枚举类型Color并通过switch语句来输出相应的颜色名称。

总结

今天我们学习了switch语句的基本用法,包括其语法结构、使用场景和注意事项。switch语句是处理多个条件的有效工具,使得代码更为整洁可读。在实际编程中,合适地选择使用if语句或switch语句,将极大提高代码的可维护性和可读性。

在下一章中,我们将讨论控制结构中的循环结构,进一步增强我们的Java编程技能。

💬 评论

暂无评论