switch语句格式是什么?

简介: switch语句格式是什么?

Switch在一些计算机语言中是保留字,其作用大多情况下是进行判断选择;常和case、break、default一起使用。

switch语句可以用于基于不同的条件来执行不同的动作。

switch语句是一个条件选择语句,找到相同的case值做为执行后面的程序入口;若所有的case都不满足,则找default入口;若未找到default入口则退出整个switch语句。

语法格式:switch (变量表达式)

{
case常量1:
语句;break;
case常量2:
语句;break;
case常量3:
语句;break;
...
case常量n:
语句;break;
default:
语句;break;
}

代码解释:计算一次 switch 表达式

把表达式的值与每个 case 的值进行对比

如果存在匹配,则执行关联代码

如果case 的值不匹配,则执行default下的关联代码

说明:

case 后的常量指的是常量表达式,它必须是整数类型。在一个特定的 switch 语句中,每个 case 常量都必须具有独一无二的值,不可以重复。但是 switch 语句可以包含多个 case 标签。

default 标签是可选的,可以放在 switch 语句体内任何位置。如果没有 default 标签,并且没有任何 case 常量符合 switch 语句控制表达式的计算结果,那么 switch 语句体中的语句都不会执行。在这种情况下,程序流会转而执行 switch 语句体后面的语句。

switch 语句体通常是一个从 case 标签开始的语句块。如果在第一个 case 标签之前有语句,这些语句并不会被执行。

示例:

varday;
switch (newDate().getDay()) {
case0:
day="周日";
break;
case1:
day="周一";
break;
case2:
day="周二";
break;
case3:
day="周三";
break;
case4:
day="周四";
break;
case5:
day="周五";
break;
case6:
day="周六";
}

document.getElementById("demo").innerHTML = "今天是" + day;

输出:今天是周二

switch语句用法注意事项

1、不要忘记在 case 语句的结尾添加 break 语句

在 switch 语句中,每个 case 语句的结尾不要忘记添加 break 语句,否则将导致多个分支重叠。当然,除非有意使多个分支重叠,这样可以免去 break 语句。

2、不要忘记在 switch 语句的结尾添加 default 语句

在 switch 语句中,default 语句主要用于检查默认情况,或者处理错误情况

如果在 switch 语句中去掉 default 语句,那么 switch 语句将失去对默认情况与错误情况的处理能力。所以,奉劝大家不要偷懒,老老实实把每一种情况都用 case 语句来完成,而把真正对默认情况的处理交给 default 语句来完成。即使程序真的不需要 default 处理,也应该保留此语句:default:

break;

这样做并非画蛇添足,可以避免令人误以为你忘记了 default 处理。

3、不要为了使用 case 语句而刻意构造一个变量

在实际编程应用中,switch 中的 case 语句应该只用于处理简单的、容易分类的数据。如果数据并不简单,却为了使用 case 语句而刻意构造一个变量,那么这种变量很容易令我们得不偿失。因此应该严格避免这种变量,并使用 if/else 结构来处理这类程序

4、尽量将长的 switch 语句转换为嵌套的 switch 语句

有时候,当一个 switch 语句中包括很多个 case 语句时,为了减少比较的次数,可以把这类长 switch 语句转为嵌套 switch 语句,即把发生频率高的 case 语句放在一个 switch 语句中,作为嵌套 switch 语句的最外层;把发生频率相对低的 case 语句放在另一个 switch 语句中,放置于嵌套 switch 语句的内层。

相关文章
|
7月前
|
存储 程序员 C语言
C语言中的嵌套语句与Switch语句的深入解析
C语言中的嵌套语句与Switch语句的深入解析
111 1
|
6月前
部分循环语句书写格式
部分循环语句书写格式
|
6月前
|
C语言
C语言条件判断:if、else、else if 和 switch 详解
C语言条件判断:if、else、else if 和 switch 详解
583 0
|
7月前
|
Java 编译器 程序员
Java基础语法之基本语法格式
本文主要复习了Java的基础语法,包括类的定义、方法、主方法、注释和关键字等内容,旨在帮助读者巩固Java学习中的重要概念。
|
7月前
|
C++
使用循环嵌套,按下面的格式打印字符
该内容包含两段代码和它们的运行结果。第一段 C++ 代码生成一个星号(*)组成的三角形,第二段代码生成美元符号($)组成的三角形。每段代码后都展示了对应的输出图形。
50 0
|
7月前
switch语句的语法
switch语句的语法
107 1
|
7月前
02-python的基础语法-标识符/运算符/字符串拓展/字符串的拼接/字符串格式化/字符串精度控制/字符串格式化方式2/对表达式进行格式化/练习题/数据输入-input语句
02-python的基础语法-标识符/运算符/字符串拓展/字符串的拼接/字符串格式化/字符串精度控制/字符串格式化方式2/对表达式进行格式化/练习题/数据输入-input语句
|
7月前
|
编译器 C语言
【C语言】第三回 关于字符串,语句和注释的使用1
【C语言】第三回 关于字符串,语句和注释的使用
|
7月前
|
C语言
【C语言】第三回 关于字符串,语句和注释的使用2
【C语言】第三回 关于字符串,语句和注释的使用
123 0
|
C语言
学C的第二天(变量‘补充’;简单了解常量,字符串,转义字符,注释,if选择语句,while循环语句)(1)
4.4*变量的使用(上期继续补充): 字符类型: %c - 字符类型 %d - 整型 %s - 字符串 %f - float类型 %lf - double类型
115 0