}
switch主要需要注意的方面有两个:
1、从哪进:表达式的值与case后的值相同则进入,case顺序不影响结果
2、从哪出:遇到break或整个switch结束(break以前是为了灵活,现在是累赘)
与if语句的不同:
If语句中若判断为真则只执行这个判断后的语句,执行完就跳出if语句,不会执行其他if语句;
而switch语句不会在执行判断为真后的语句之后跳出循环,而是继续执行后面所有case语句。
在每一case语句之后增加break语句,使每一次执行之后均可跳出switch语句,从而避免输出不应有的结果。
一个没有加break的例子:
#include
int main() { for(int i=1; i<=4; i++) { switch(i%2) { case 0: printf("0\n"); case 1: printf("1\n"); } } }
输出结果为:

最后:
1、case后的常量表达式不能相同;
2、case后的语句可以有多个且不用花括号括起来;
3、case和default子句的先后顺序可以先后变动,default子句可以省略不用;
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/175729.html原文链接:https://javaforall.net
