D语言switch语句

switch语句允许一个变量来对值的列表相等进行测试。每个值被称为一个case,并且在接通该变量被检查每个switch case。

语法

在D编程语言中的switch语句的语法如下:


1
2
3
4
5
6
7
8
9
10
11
12
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 不是必要的。

流程图:


例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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
联系我们

邮箱 626512443@qq.com
电话 18611320371(微信)
QQ群 235681453

Copyright © 2015-2024

备案号:京ICP备15003423号-3