一。逻辑运算符
&&逻辑与(短路与)
条件一&&条件二
此表达式的结果要成立,条件一和条件二都必须成立
(只要存在一个条件不成立则结果不成立)
(逻辑与在使用时可以有多个条件表达式)
||逻辑或(短路或)
条件一||条件二
此表达式的结果成立,只需条件一或者条件二中一个条件成立即可
!逻辑非
将假的条件变为真的条件,将假的条件变为真的条件
!条件一 条件为真,结果为假;条件为假,结果为真
逻辑运算符的结果是:成立或者不成立
二,位运算符(是对二进制的位做操作的)
& 按位与 全一则一,有0则0
例 1&1=1
1&0=0
| 按位或 有一则一,全0则0
例 1&0=1
0&0=0
ˆ 按位异或 相同则为0,不同则为1
例0ˆ0=0
0ˆ1=1
~ 按位取反 1变0,0变1
左移运算符<< 右边补零,左边丢弃
例 int num=-23;res=num>>2;//左移两位
11111111 11111111 11111111 11101001
转化
11111111 11111111 11111111 10100100
左移一位相当于乘2的一次方
左移n位相当于乘以2的n次方
右移运算符>>
1.逻辑右移(无符号数据)规则:低位丢弃,高位补零
2.算术右移(有符号数据)规则:低位丢弃,高位补齐符号位
右移一次相当于除以二的平方
右移n次相当于除以二的n次方
三。交换变量
1.在不允许创建临时变量时
使用ˆ运算符
例如 int a = 10
int b = 20
aˆa=0
aˆaˆb=b
令a=aˆb
b=aˆb b=aˆbˆb 则 b=a
四.三目运算符(三个操作符)
格式:条件表达式?表达式1:表达式2
含义:条件表达式成立,整个表达式的值是表达式1,否则是表达式2
单目运算符:! ~ ,
逗号运算符:
"ret=表达式1,表达式2……表达式n"
按顺续进行,最后赋值与n,赋值优先级最低
总结
优先级关系:
( 位运算符) 算术运算 > 关系运算 > 逻辑运算 > 赋值运算符