switch 语句
使用 switch 语句可以更简洁地实现 if ~ else if 的结构。格式如下。
switch(base_expression)
{
casecondition_expression1:
casecondition_expression2:
:
:
default:
:
:
}
写在 base_expression 位置的表达式会在刚开始时被求值。switch 后面的语句块中的 case 的后面的 condition_expression? 也可以写成表达式。
condition_expression? 会在语句块中被依次求值。求得的结果和 base_expression 相同时,就会从对应的位置开始执行。与 condition_expression? 的值不一致的话,对应部分的语句会被忽略。一致的话,在那之后的 case 和 default 的部分的语句会被忽略。
default: 可以省略,处理到 default 这个标识时, default 以后的语句会被强制执行。
从语句块中跳出可以使用 break; 。请注意,忘了写 break 的话,可能会一直执行到下一个 case 的内容。
例:
switch(a)
{
case0:
inform("a的值为0");
break;
case1:
inform("a的值为1");
break;
case2:
inform("a的值为2");
break;
default:
inform("a的值为除了012以外的其他值");
}
switch(a)
{
case0:
case1://因为没有break,case0的情况下也会经过这里
inform("a的值为0或1");
break;
case2:
inform("a的值为2");
}//因为没有default,012以外的情况下会什么也不执行
switch(a)
{
caseb+1://也可以在case后面指定表达式
inform("a==b+1");
break;
casec+b:
inform("a==c+b");
}
switch(str)
{
case"abcde"://也可以指定字符串
type=1;
break;
case"字符串":
type=2;
break;
}