Jupyter AI

12 控制结构之 switch 语句

📅 发表日期: 2024年8月10日

分类: 🟨JavaScript 入门

👁️阅读: --

在前一篇教程中,我们学习了控制结构中的循环语句,例如 forwhiledo...while。控制结构是控制代码执行流程的重要工具,而今天我们将继续探讨另一种控制结构:switch 语句。

switch 语句允许我们基于变量的不同值来选择不同的代码块执行。它的语法和使用场景与 if...else 语句类似,但在处理多个条件时,switch 语句通常会更清晰、更易读。

switch 语句的基本语法

switch (expression) {
    case value1:
        // 当 expression 等于 value1 时执行的代码
        break;
    case value2:
        // 当 expression 等于 value2 时执行的代码
        break;
    // 可以有任意数量的 case
    default:
        // 如果没有 case 匹配,则执行的代码
}

关键点解释

  1. expression:要比较的表达式。通常是一个变量。
  2. case:每个 case 后面跟着一个可能的值。
  3. break:可选的语句,终止当前 switch 语句的执行。如果没有 break,程序会继续执行下一个 case 的代码,直到遇到 break 或者 switch 结束。
  4. default:可选的,如果没有 case 匹配,则执行的代码块。

示例代码

我们来看一个具体的例子,假设我们要根据星期数输出相应的星期几。

let day = 3; // 假设 1=星期一,2=星期二,3=星期三,依此类推

switch (day) {
    case 1:
        console.log("今天是星期一");
        break;
    case 2:
        console.log("今天是星期二");
        break;
    case 3:
        console.log("今天是星期三");
        break;
    case 4:
        console.log("今天是星期四");
        break;
    case 5:
        console.log("今天是星期五");
        break;
    case 6:
        console.log("今天是星期六");
        break;
    case 7:
        console.log("今天是星期天");
        break;
    default:
        console.log("输入的数字无效,请输入 1 到 7 之间的数字");
}

在上面的例子中,如果你将 day 设置为 3,程序将输出“今天是星期三”。如果 day 的值超出了 17 的范围,将输出错误信息。

使用多个 case

有时我们可能希望多个值能够执行同一段代码。此时可以将多个 case 语句放在一起,如下所示:

let grade = 'B';

switch (grade) {
    case 'A':
        console.log("优秀");
        break;
    case 'B':
    case 'C':
        console.log("及格");
        break;
    case 'D':
        console.log("需要努力");
        break;
    default:
        console.log("无效的成绩");
}

在这个例子中,无论 gradeB 还是 C,都会输出“及格”。

总结

switch 语句为处理多分支的逻辑提供了一种更加结构化的方式。在条件比较较多时,使用 switch 语句能使代码更易于理解与维护。在你正式应用 switch 语句后,未来的篇章中我们将讨论函数的定义与调用。希望你在学习的过程中,能够将这些控制结构结合应用,增加实际的编程能力。

下一篇,我们将探索函数之函数的定义和调用,期待与大家继续深入学习!