1、switch...case...是一种分婧旱恐笆支结构,作用和if...else...类似,在执行switch...case...语句的时候,会依次将case后面的常量漉胜衲仰表达式和switch后面的表达式比较,如果相同就会执行case后面的语句.
2、switch...case...实例,在这个例子中会依次将i的值和每个case后面的常量进行比较,如果成立就会执行后面的语句,如果不成立就会继续进行下一条对比:
3、注意到上面在执行完要进行对比的语句之后会有一个break;,break的作用是在执行完要执行的语句之后退出这个switch...case...结构,防止重复执行
4、如果不用 <break;> 这个语句的话就会出现意想不到的错误,如图所示,将所有的break去掉之后,i的值是1,按照正常应该执行 <case 1:> 后面的语句之后就退出这个结构.但是结果却不是这样,运行结果显示程序将每个case之后的语句都执行了一遍,如果加上switch之后执行结果就是正常的
5、default语句,default语句是在所有的case语句都没有执行的情况下才会执行,即:以上所有情况都没发生之后才会执行,在上面的例子中,如果i的值不是1,2,3其中的一个就会执行default语句后面的语句
6、case后面的表达式必须是常量表达式,也就是不可以含有变量,如果是变量编译器会给出报错
7、和case不同,switch后面的表达式则可以是常量也可以是变量