D 语言 - Switch 语句
switch 语句允许测试变量是否与值列表相等。 每个值称为一个 case,并且针对每个 switch case 检查正在打开的变量。
语法
D 编程语言中 switch 语句的语法如下 −
switch(expression) { case constant-expression : statement(s); break; /* optional */ case constant-expression : statement(s); break; /* optional */ * 您可以有任意数量的 case 语句 */ default : /* Optional */ statement(s); }
以下规则适用于 switch 语句 −
switch 语句中使用的表达式必须具有整型或枚举类型,或者是类类型,其中该类具有到整型或枚举类型的单个转换函数。
一个 switch 中可以有任意数量的 case 语句。 每个 case 后面都跟有要比较的值和冒号。
case 的常量表达式必须与 switch 中的变量具有相同的数据类型,并且它必须是常量或文字。
当打开的变量等于某个 case 时,该 case 后面的语句将执行,直到到达 break 语句。
当到达 break 语句时,switch 终止,控制流跳转到 switch 语句后面的下一行。
并非每个 case 都需要包含break。 如果没有出现break,则控制流将继续到后续案例,直到达到 break 为止。
switch 语句可以有一个可选的 default case,它必须出现在 switch 的末尾。 当所有情况都不成立时,可以使用默认情况来执行任务。 在default情况下不需要break。
流程图
示例
import std.stdio; int main () { /* 局部变量定义 */ 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
❮ d_programming_decisions.html