黑马程序员技术交流社区
标题:
ios基础之三-运算符
[打印本页]
作者:
TGII
时间:
2016-5-12 23:55
标题:
ios基础之三-运算符
1. 什么叫表达式
• 由运算符连接起来的式子
2. 运算符的优先级
• () > (负号)- > 逻辑非 ! > 算术运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符 > 逗号运算符
3. 运算符的分类
• 算术运算符(+ - * / %)
o 优先级:
♣ 3级 : * / %
♣ 4级 : + -
o 结合性:
♣ 左结合
o 算数表达式结果(算数表达式的类型的确定):
♣ 表达式中,操作数据类型一致,则结果为此类型
♣ 表达式中,操作数据类型不一致,则结果为范围最大的类型
⎥ int < float < double (数据类型的自动提升)
o 求模运算 (m % n)
♣ m>n, 求余数
♣ m<n, 余数为m
♣ m<0, 则求取的余数为负值.
o char类型参与计算: 将ASCII的值取出计算
• 复合赋值语句(+= -= *= /= %=)(把一个变量在自身的基础上进行变化)
o 优先级:
o 结合性:
o
♣ 举例:sum += i 等价于 sum = sum + i
• 自增与自减运算符(++ --)
o 优先级:
♣ 2
o 结合性:
♣ 右结合
o 自增表达式的结果
♣ i++,先取值,后自增
♣ i--,先自增,后取值
o 本质:
♣ 自增变量的值,最终都会加1
• 逗号运算符(,)
o 优先级:
♣ 15
o 结合性:
♣ 左结合
o 逗号表达的结果:
♣ 从头到尾的去执行每一个表达式,并把最后一个表达式的结果作为整个表达式的结果
• 比较表达式(> < >= <= == !=)(又叫关系表达式)
o 优先级
o 结合性
o 比较表达式的结果
♣ C语言中用1与0作为表达式的结果,代表真假.
♣ == 与 =的区别 (优先级: 比较 > 赋值)
♣ = 赋值运算符 赋值
♣ == 比较表达式 等于
o 比较运算符的场景
♣ 运算符的两边可以为变量,常量,以及表达式,判断两个表达式的结果
♣ char数据类型也可以参与运算,用ASCII值
♣ 用于排序
• 逻辑运算符(! && ||) :: && 与 || 同时出现时,优先考虑短路问题(从左自右的扫描),没有短路就优先考虑,优先级.
o 优先级:
♣ 低于比较
o 结合性:
♣ 左结合
o 与比较运算符比较:
♣ 与比较表达式不同,可用于判断多个条件,并指定多个条件的关系
o 逻辑表达式的结果
♣ 1 - 真
♣ 0 - 假
o 逻辑与:&&
♣ 两边都成时,逻辑表达式才成立
♣ 短路问题:遇到假,就结束,不再计算后面的值
o 逻辑或: ||
♣ 只有一边成立时,逻辑或就成立
♣ 短路问题:遇到真,就结束
o 逻辑非 !
♣ 假亦真时,真亦假
• 三元运算符
o 运算符的按参与操作数的个数分类:
♣ 单目运算符: ++ -- !
♣ 双目运算符: 逻辑,算术等.
♣ 三目运算符:? :
o 如何使用三目运算符呢?
♣ 格式: 条件表达式 ? 值1 : 值2
o 使用注意事项:
♣ 作用:可以部分的代替if-else结构
♣ 条件表达式可以是任意的表达式.
♣ 不要定义变量
♣ 与if-else 结构相比:它一定会有返回值
• 按位运算符(具体参考进制)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2