当前位置: 首页 > 图灵资讯 > 技术篇> switch语句结构解析

switch语句结构解析

来源:图灵教育
时间:2023-04-02 17:42:34

在经历了在多重嵌套下,if语句显得非常凌乱,代码的可读性非常差经过这次经历,越来越多的人选择使用它switch语句。switch语句备受青睐的原因是因为Switch可以使用更简单的代码实现和使用语句if只有相同的功能。只不过switch语句需要需要在多重判断下要实施,需要有一定的逻辑思维能力。所以,为了我们更好地理解和使用它switch语句这就要求我们是对的switch语句结构解析

让我们先明确一下适用于switch语句的场景:switch 语句用于根据不同的条件执行不同的动作。我们可以称之为开关语句。当然,理解上不要认为只有开关。你可以想象它是一个多路开关。事实上,switch语句是一种多分支结构。让我们来看看它的句子结构:

switch (表达式)

{

case 常量表达式1: 语句1

case 常量表达式2: 语句2

case 常量表达n: 语句n

default: 语句n+1

}

与if不同,switch后面的小括号是一种完整的表达式。if条件表现为两种相互对立的状态,而多分支结构的switch则表现为多个整数值。if条件的对立性总是相对于0,所以只要某种数据类型的表达式能表示0值,就可以充当if句子的条件。但是,switch中的表达式值需要对应不同的处理入口,相当于入口号,因此限制用整形数表示是明智的。

在括号内,switch后面“表达式”case背后的值与某个case背后的值“常量表达式”当值相等时,执行此case背后的句子。执行case后面的句子后,流程控制转移到下一个case继续执行。如果你只想执行这个case语句,不想执行其他case语句,那么你需要在这个case语句后面添加break,跳出switch语句。正常情况下,我们都希望只执行一个合格的case语句,所以我们通常会在后面添加break,以便在执行完成后直接跳出switch语句。

让我们用一个简单的例子来解释:

getDay() 方法返回 0 至 6 之间的周名数字(weekday number)。

(Sunday=0, Monday=1, Tuesday=2 ..)

用周名数字计算周名:

switch (new Date().getDay()) {

case 0:

day = "星期天";

break;

case 1:

day = "星期一";

break;

case 2:

day = "星期二";

break;

case 3:

day = "星期三";

break;

case 4:

day = "星期四";

break;

case 5:

day = "星期五";

break;

case 6:

day = "星期六";

}

“case常量表达式:”即处理入口(也称为(也称为)“标号”),常量表达式相当于入口号,入口号不能重复,因此每个case的常量表达式值必须不同。入口号不能重复,但可以颠倒。也就是说,入口号的顺序并不重要。每个case(包括default)的出现顺序可以任意。在if语句中,if和else下描述的语句是独立的。但在switch语句中,每个case只是标定处理入口,每个入口的语句不排他。因此,switch语句中所有处理入口描述的语句都构成了一个顺序执行的动作序列。

出现在上面的代码中break是一个独立构成语句的关键词。它的功能是在switch中、for、while、do-在while语句中,跳出结构,转向执行,吓唬一个语句。或者break语句强行终止上述语句的执行。对于if语句,if-else结构中的语句块本身是排他性的,因此没有必要用break进行干预。

通过相信你对switch语句的实例分析switch语句结构这个知识点有了理解,其实一般来说,switch语句还是很容易理解的,只要稍微学习一下,就能熟练掌握switch语句。当然,有了这个网站专题讲解课那就更有效了。