Objective-C switch语句

switch语句用于测试变量与值列表的相等性。每个值称为一个case,并检查每个switch case接通的变量。

语法

Objective-C编程语言中switch语句的语法如下 -

switch(expression){
   case constant-expression  :
      statement(s);
      break; /* 可选 */
   case constant-expression  :
      statement(s);
      break; /* 可选 */

   /* 可以有任意数量的case语句*/
   default : /* 可选 */
      statement(s);
}

以下规则适用于switch语句 -

  • switch语句中使用的表达式(expression)必须具有整数或枚举类型,或者是类类型,其中类具有单个转换函数为整数或枚举类型。
  • switch中包含任意数量的case语句,每个case后跟要与之比较的值和冒号。
  • case之后的constant-expression必须与switch中的变量具有相同的数据类型,并且必须是常量或文字。
  • 当接通的变量等于case时,case之后的语句将一直执行,直到达到break语句。
  • 当达到break语句时,switch终止,控制流跳转到switch语句后面的下一行。
  • 并非每个break都需要包含break。 如果没有出现break,则控制流将进入后续case,直到达到break
  • switch语句可以有一个可选的默认情况,它必须出现在switch的末尾。 当没有任何case匹配为真时,default可用于执行任务。 default不需要包含break语句。

流程图

示例代码

#import <Foundation/Foundation.h>

int main () {

   /* 局布变量定义 */
   char grade = 'B';

   switch(grade) {
   case 'A' :
      NSLog(@"Excellent!\n" );
      break;
   case 'B' :
   case 'C' :
      NSLog(@"Well done\n" );
      break;
   case 'D' :
      NSLog(@"You passed\n" );
      break;
   case 'F' :
      NSLog(@"Better try again\n" );
      break;
   default :
      NSLog(@"Invalid grade\n" );
   }

   NSLog(@"Your grade is  %c\n", grade );
   return 0;
}

执行上面示例代码,得到以下结果:

2018-11-14 09:55:06.673 main[53795] Well done
2018-11-14 09:55:06.675 main[53795] Your grade is  B

上一篇: Objective-C决策 下一篇: Objective-C函数