12 控制结构之 switch 语句
在前一篇教程中,我们学习了控制结构中的循环语句,例如 for
、while
和 do...while
。控制结构是控制代码执行流程的重要工具,而今天我们将继续探讨另一种控制结构:switch
语句。
switch
语句允许我们基于变量的不同值来选择不同的代码块执行。它的语法和使用场景与 if...else
语句类似,但在处理多个条件时,switch
语句通常会更清晰、更易读。
switch
语句的基本语法
switch (expression) {
case value1:
// 当 expression 等于 value1 时执行的代码
break;
case value2:
// 当 expression 等于 value2 时执行的代码
break;
// 可以有任意数量的 case
default:
// 如果没有 case 匹配,则执行的代码
}
关键点解释
- expression:要比较的表达式。通常是一个变量。
- case:每个
case
后面跟着一个可能的值。 - break:可选的语句,终止当前
switch
语句的执行。如果没有break
,程序会继续执行下一个case
的代码,直到遇到break
或者switch
结束。 - 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
的值超出了 1
到 7
的范围,将输出错误信息。
使用多个 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("无效的成绩");
}
在这个例子中,无论 grade
为 B
还是 C
,都会输出“及格”。
总结
switch
语句为处理多分支的逻辑提供了一种更加结构化的方式。在条件比较较多时,使用 switch
语句能使代码更易于理解与维护。在你正式应用 switch
语句后,未来的篇章中我们将讨论函数的定义与调用。希望你在学习的过程中,能够将这些控制结构结合应用,增加实际的编程能力。
下一篇,我们将探索函数之函数的定义和调用,期待与大家继续深入学习!