发布于 2015-08-16 14:47:01 | 184 次阅读 | 评论: 0 | 来源: 网络整理
switch语句允许一个变量来对值的列表相等进行测试。每个值被称为一个case,并且在接通该变量被检查每个switch case。
在D编程语言中的switch语句的语法如下:
switch(expression){
case constant-expression :
statement(s);
break; /* optional */
case constant-expression :
statement(s);
break; /* optional */
/* you can have any number of case statements */
default : /* Optional */
statement(s);
}
以下规则适用于switch语句:
在switch语句中使用的表达式必须有一个整体或枚举类型,或者是一个类类型,其中的类有一个单一的转换函数将一个整数或枚举类型。
一个switch可以有任何数量的case语句。每个case后面进行比较的值和一个冒号。
常数在表达式case后,必须具有相同的数据类型作为switch变量,它必须是一个常量或文字。
当被打开了变量等于case,下列case语句将执行,直到break语句为止。
当达到一个break语句,switch终止,并且控制流程跳转到下一行下面的switch语句。
不是每一种case 需要包含break。如果没有出现break,控制流将下降通过之后的case直到出现break为止。
switch语句可以有一个可选默认情况下,它必须出现在switch的结束。缺省情况下,可用于执行任务时,所有case都不为true。在默认casebreak 不是必要的。
import std.stdio;
int main ()
{
/* local variable definition */
char grade = 'B';
switch(grade)
{
case 'A' :
writefln("Excellent!" );
break;
case 'B' :
case 'C' :
writefln("Well done" );
break;
case 'D' :
writefln("You passed" );
break;
case 'F' :
writefln("Better try again" );
break;
default :
writefln("Invalid grade" );
}
writefln("Your grade is %c", grade );
return 0;
}
当上面的代码被编译并执行,它会产生以下结果:
Well done
Your grade is B