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 后面跟着要比较的值和一个冒号。

  • case 的常量表达式必须与 switch 中的变量具有相同的数据类型,并且必须是常量或字面量。

  • 当被切换的变量等于某个 case 时,该 case 后面的语句将执行,直到遇到break语句。

  • 遇到break语句时,switch 将终止,控制流跳转到 switch 语句后面的下一行。

  • 并非每个 case 都需要包含break。如果没有break,控制流将贯穿到后续的 case,直到遇到 break。

  • switch语句可以有一个可选的default case,它必须出现在 switch 的末尾。当没有任何 case 为真时,可以使用 default case 执行任务。在default case 中不需要break

流程图

switch statement in D

示例

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
广告