1.关系运算符
常用关系运算符 > ,< , "== “, " !=” , >= , <= ;
大于: 左 > 右 — 真/假
大于等于: 左 >= 右 — 真/假
小于: 左 < 右 — 真/假
小于等于: 左 <= 右 — 真(1)/假(0)
等于等于:比较两个数据是否相等 10 == 10 -->1
不等于:左 != 右 判断左右两个值是否相等,如果不相等结果是真
注意:
1.不可以对关系运算符进行连续使用 例如 1<x<3
2.在使用==运算符的时候,把常量放左值,变量放右值,防止丢失=号变成赋值
3.一般在if等判断条件中使用
2.逻辑运算符
逻辑与(&&) 左表达式 && 右表达式–>如果左右都为真结果为真否则为假
按位与(&) 二进制数&二进制数—>结果是数值。
逻辑或(||) 左表达式 || 右表达式–>只要满足一个就为真。
逻辑非(!) 单目 !表达式 -->如果表达式为真,结果为假,如果表达式为假,结果为真
注意:1.对于逻辑与,只要第一个表达式不满足,第二个不会执行(短路)
2.对于逻辑或,如果第一个条件满足,第二个表达式不会执行(短路)
3.在三个运算符中,优先级顺序 !> && > ||
3.位运算符:
| 按位或—有1则1
& 按位与—有0则0
~ 按位取反—0变1,1变0
^ 按位异或----相同为0,不同为1。
<< 二进制左移位: 二进制数据 << 位数。符号位不变
案例 12<<3 00001100000–> 64+ 32 =96
>> 二进制右移位: 二进制数据 >> 位数. 注意:向小靠拢
结论:左移为把数据乘以2的n次方
右移为把数据除以2的n次方
4.三目运算符:表达式1?表达式2:表达式3;
意义: 表达式1如果为真,执行表达式2,如果为假执行表达式3;
等价: if(表达式1){ 表达式2 }else {表达式3};
5.类型转换(隐式类型转换)
double <--- float
↑
long
↑
unsigned
↑
int <-- char/short
强制类型转换:
格式:(类型)变量 案例 int x = 10; double y = (double)x;
优先级(高->低) 运算符
1 () []
2 ++ -- ~ !
3 * / %
4 + -
5 >> <<
6 > <
6 == !=
7 & > ^ > |
8 && > ||
9 三目
10 赋值运算符
助记方法
算术和一位好基友的关系不是很好
因为于一飞和与或三等兄弟逗起来了。
附上运算符优先级表: