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