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

上一章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; }

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

    推荐阅读