个性化阅读
专注于IT技术分析

Objective-C条件语句详解 – Objective-C开发教程

上一章Objective-C开发教程请查看:Objective-C循环语句和循环控制语句

同样了,如果C语言好的话,可以跳过这部分,OC的条件语句和C语言的条件语句是一样的。OC中一共有三种条件语句:if语句、if-else语句和switch语句,另外还有一个简写的三元运算符?:,之前已经说过,这里就不再说了。

if语句

if语句的使用语法如下:

if(boolean_expression) {
   statement(s);
}

如果布尔表达式boolean_expression为真,则执行条件体内的语句statement(s);,否则跳过。其中OC中非0和非null值都是true,0或null都是false。

下面是if语句的使用例子:

#import <Foundation/Foundation.h>
 
int main () {
   
   /* 本地变量 */
   int a = 10;
 
   /* 使用if语句检查布尔条件 */
   if( a < 20 ) {
      /* 条件为true执行以下语句 */
      NSLog(@"a is less than 20" );
   }
   
   NSLog(@"a : %d", a);
   return 0;
}

if-else语句

if-else语句的语法如下:

if(boolean_expression) {
   statement01
} else {
  statement02
}

如果布尔表达式boolean_expression为真,则执行语句statement01,否则执行statement02。另外可用使用多个if判断,如下:

if(c1) {
   s1
} 
else if(c2){
   s2
}
else {
  s3
}

如果条件c1为true,则执行s1,否则向下检查c2,若c2为true则执行s2,否则执行s3。另外,如果c1和c2同时为真,不会执行s2,只会执行s1。

下面是if-else语句的使用例子:

#import <Foundation/Foundation.h>
 
int main () {
   int a = 100;
 
   if( a < 20 ) {
      /* 条件为真执行以下语句 */
      NSLog(@"a is less than 20" );
   } else {
      /* 否则执行以下语句 */
      NSLog(@"a is not less than 20" );
   }
   
   NSLog(@"value of a is : %d\n", a);
   return 0;
}

switch语句

switch语句和上面介绍的if-else if-else语句类似,使用语法如下:

switch(expression){
   case constant-expression  :
      statement(s);
      break; /* 可选*/
   case constant-expression  :
      statement(s);
      break; /* 可选 */
  
   /* 可以有任意数量的case语句 */
   default : /* 可选 */
      statement(s);
}

switch语句计算expression的值,逐个匹配case对应的每个值,进而进行对应的statement(s);。其中break语句用于直接跳出switch语句,不用的话执行完一个case就会继续向下检查,这一点和else if不同,default语句是所有的case都不匹配的情况下执行的case。

下面是使用switch语句的例子:

#import <Foundation/Foundation.h>
 
int main () {
   
   char grade = 'B';

   switch(grade) {
   case 'A' :
      NSLog(@"Excellent!" );
      break;
   case 'B' :
   case 'C' :
      NSLog(@"Well done" );
      break;
   case 'D' :
      NSLog(@"You passed" );
      break;
   case 'F' :
      NSLog(@"Better try again" );
      break;
   default :
      NSLog(@"Invalid grade" );
   }
   
   NSLog(@"Your grade is  %c", grade );
   return 0;
}

另外,每种条件语句还有对应的嵌套语句,和循环嵌套语句也是类似的,可以动手试下。

赞(0)
未经允许不得转载:srcmini » Objective-C条件语句详解 – Objective-C开发教程

评论 抢沙发

评论前必须登录!