今天想给大家分享的是switch语句,因为我也不会,所以我先好好学习研究了一番。

其实switch语句很早老师就讲过了,只是我又忘记了,刚刚遇到一道题考察if语句和switch语句,正好把这部分知识复习一遍,也就将之分享在此,希望对大家有所帮助。如果有说得不对的地方或者遗漏的,欢迎大家指正补充!

Switch语句。整个语句的结构如下

Switch(变量或者表达式)
{

case 常量表达式:{语句1};break;(其实这里的break也是一个语句,只是说只有这一句,因此                                                                可以看到用了两次分号)

case 常量表达式:{语句2};break;

case 常量表达式:{语句2};break;

…………..

default {语句n};(这里语句是当前面都不满足时执行的,此处不用再加break)

}

整个语句的运行是先计算表达式的值,再用之与下面的case’比较,当表达式的值等于了下面某个case的常量表达式时,则执行该case语句,然后不再进行判断,继续执行case后面的所有语句,当所有case语句都不满足时,就执行default语句。

这里有几个需要给大家强调的点:

1、如果没有加break,则执行该语句之后会接着往下执行所有的语句完成才跳出循环,如果有break,则执行完该语句就跳出switch循环。

Java中Switch比较两个数字大小_switch语句

Java中Switch比较两个数字大小_c++_02

 大家可以对比下有break和没有的区别,应该就能理解到位了。

2、default的顺序是可以变动的,可以放在最后也可以放在最前面。而各个语句之间如果都加了break则也可以变动,但是如果都没加,则不能随意变动。

因为变动了顺序就改变了,有些题就是这样考察的,比如

Java中Switch比较两个数字大小_c++_03

Java中Switch比较两个数字大小_c语言_04

 b选项在没有加break的情况下改变了case1/2的顺序,最终结果就是不等价的。

3、在case后的各常量表达式的值不能相同,否则会出现错误。

4、case 后面必须是一个整数,或者是结果为整数的表达式,且不能包含任何变量。

5、default语句不是必须的,如果没有且所有case语句都不满足时,则结束循环。且default后面的  子句也不是必须的。

6、case后面的{}也不是必须的。

目前我想到的需要注意的点就是这些。

整个switch语句在我看来,在做条件判断的时候,其实switch语句和if语句都能够运用,而且二者在运行内存和速度上是差不多的,只是说当在面对多种可能性时用switch会显得更简洁,看起来代码更赏心悦目。具体怎么选择看大家实际情况。

目前我作为一名计算机专业学生,一直有在博客上学习,在感谢各位大佬无私的帮助的同时也开始输出自己所学,希望能帮助到更多像我一样的同学。大家一起加油!!!