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