[obj-c]分支结构(四)

一、 关系运算符 && 逻辑运算符
1.1 关系运算符

运算符 名称 示例 功能
< 小于 a<b a小于b时返回真;否则返回假
<= 小于等于 a<=b a小于等于b时返回真;否则返回假
> 大于 a>b a大于b时返回真;否则返回假
>= 大于等于 a>=b a大于等于b时返回真;否则返回假
== 等于 a==b a等于b时返回真;否则返回假
!= 不等于 a!=b a不等于b时返回真;否则返回假

1.2 逻辑运算
在某些时刻一个条件不满足,需要用到复合条件。
逻辑与: && 表示必须满足这2个条件
逻辑或: || 表示只需满足任意1个条件即为真
逻辑非: ! 表示取反值
如当需要满足a<b 和 a==b 时候,采用复合条件则如下:
ab && a==b
则判断是如下的:
满足条件一:1+1==2
或者(||)
满足条件二,而条件二则需要满足下面2个条件:
a>b 与(&&) a==b

二、if 语句
如果1加1等于2,那就是对的——》
转换成if语句格式,则是:
[objc]
if ( 1 + 1 == 2)
NSLog(@"你是对的!");//满足条件,执行部分
[/objc]

2.1 if else 结构
如果1加1等于2,那就是对的,否则你算错了——》
转换成if语句格式,则是:
[objc]
if ( 1 + 1 == 2)
NSLog(@"你是对的!");//满足条件,执行部分
else
NSLog(@"你算错了!");//不满足条件,执行部分
[/objc]

2.2 if else if 结构
相比前面两种,当有多个分支的时候,
可采用if else if结构,一般形式为:
if (条件一)
执行语句一;
else if (条件二)
执行语句二;

else if (条件N)
执行语句N;

2.3 嵌套 if
当if结构中的执行语句,需要继续判断
则又是if结构时,就构成了if 结构嵌套的情形。
如:
if (条件一){//注意非单句时候,写大括号。
执行语句一;
if (条件二)
执行语句二;
}else{
执行语句;
}

三、switch 语句
在类似2.2的if else if结构那样。
如果只有一个变量有不同值出现,需要进行判断,则可以用switch。
例:
[objc]
int i = 0;
switch (i) {
case 0:
NSLog(@"i = 0");//当i=0,执行部分
break;
case 1:
NSLog(@"i = 1");//当i=1,执行部分
break;
case 2:
NSLog(@"i = 2");//当i=2,执行部分
break;
default:
NSLog(@"i = %d",i);//当i不等于以上条件,执行部分
break;
}
[/objc]
_>switch 后面是跟着表达式,例如这里是:i
_>case 后面跟着常量表达式,例如这里的:0
_>case 到下一个case 之间,则为执行部分,如:
上面 case 0到 case 1中间,NSLog 和 break
都为满足case 0 执行的语句。
_>default 这里则是表示都满足不了上面case,则执行该段程序

这里说下:break ,它是用来终止switch语句执行,程序到这就会结束switch语句。
在后面的循环,将会讲下,break 和 continue 区别。这里不过多提及。

四、条件运算符
条件运算符也叫三目运算符,或三元运算符。
它功能类似 if else,使用起来比较简洁。
如:
[objc]
BOOL results = ( 1 + 1 == 2 ? YES : NO);
NSLog(@"results = %d",results);
[/objc]
这里意思是这样,定义一个布尔型变量,变量名为results,并输出这个变量。
_>BOOL 是布尔型变量,也就是逻辑型变量的定义符。
分别有2个取值,如:YES和NO,true和false,1和0
_>右边三目运算符意思则是:
1 + 1 是否等于 2 ? 是,执行部分 : 不是,执行部分
也就是说三目运算符的格式是这样:
表达式1?表达式2:表达式3

好吧,这帖就到这了。这几天工作有点多,所以没那么积极了。
下一个是 循环结构

73 thoughts on “[obj-c]分支结构(四)

Rxrqse进行回复 取消回复

电子邮件地址不会被公开。