上一章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;
}
另外,每种条件语句还有对应的嵌套语句,和循环嵌套语句也是类似的,可以动手试下。
评论前必须登录!
注册