 
- D 编程基础
- D 编程 - 主页
- D 编程 - 概述
- D 编程 - 环境
- D 编程 - 基本语法
- D 编程 - 变量
- D 编程 - 数据类型
- D 编程 - 枚举
- D 编程 - 文字
- D 编程 - 运算符
- D 编程 - 循环
- D 编程 - 决策
- D 编程 - 函数
- D 编程 - 字符
- D 编程 - 字符串
- D 编程 - 数组
- D 编程 - 关联数组
- D 编程 - 指针
- D 编程 - 元组
- D 编程 - 结构
- D 编程 - 联合
- D 编程 - 范围
- D 编程 - 别名
- D 编程 - Mixins
- D 编程 - 模块
- D 编程 - 模板
- D 编程 - 不可变
- D 编程 - 文件 I/O
- D 编程 - 并发
- D 编程 - 异常处理
- D 编程 - 合同
- D - 条件编译
- D 编程 - 面向对象
- D 编程 - 类和对象
- D 编程 - 继承
- D 编程 - 重载
- D 编程 - 封装
- D 编程 - 接口
- D 编程 - 抽象类
- D 编程 - 有用的资源
- D 编程 - 快速指南
- D 编程 - 有用的资源
- D 编程 - 讨论
D 编程 - Switch 语句
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 的常量表达式必须与 switch 中的变量具有相同的数据类型,并且必须是常量或文字。 
- 当打开的变量等于 case 时,该 case 后面的语句将执行,直到到达break语句。 
- 当到达break语句时,switch终止,并且控制流跳转到switch语句之后的下一行。 
- 并非每个案例都需要包含中断。如果没有出现中断,则控制流将继续执行后续情况,直到达到中断为止。 
- switch语句可以有一个可选的default case,它必须出现在 switch 的末尾。当所有情况都不成立时,可以使用默认情况来执行任务。默认情况下不需要中断。 
流程图
 
例子
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
d_programming_decisions.htm