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

流程图

D 语言中的 switch 语句

示例

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