表达式由运算符和操作数组成;
运算符一般分成以下几组:算术运算符;赋值运算符;关系运算符;逻辑运算符;条件运算符;位运算符
一、算术运算符
用于基本的算术运算,如加,减,乘,除,取余等。
+,-,*,/,%,++,--,
二、赋值运算符(=)
将右边的值赋给左边(所以左边不能是常量)
复合赋值运算符:+=,-=,*=,/=,%=
如x+=5,等价于x=x+5;其余几个复合赋值运算符也类似。
三、关系运算符(比较运算符)
常用于比较两个数的大小,返回结果是一个boolean值
> | < | <= | >= | == | != |
大于 | 小于 | 小于等于 | 大于等于 | 等于 | 不等于 |
四、逻辑运算符
与运算(& &&),或运算(| ||),非运算(!)
&和&&的区别:&&如果左边是false,则整个表达式都是false,右边的就不用计算了,而&无论如何左右两边的表达式都会执行;
|和||的区别:||如果左边是true,则整个表达式都是false,右边的就不用计算了,而|无论如何左右两边的表达式都会执行;
五、条件运算符
是一个三元运算符,格式为: 布尔表达式?表达式1:表达式2;
当布尔表达式的值为true是返回表达式1的值,反之,返回表达式2的值。
六、位运算符
& | | | ^ | ~ | << | >> | >>> |
按位与 | 按位或 | 按位异或 | 取反 | 左移 | 右移 | 无符号右移 |
与运算符&是将参与运算的两个二进制数进行与运算,如果两个二进制位都为1,则该位的运算结果为1,否则为0。同理,|,^,~也类似;
00000010<<2 表示左移2位,结果位00001000;
七、运算符优先级
优先级 | 运算符 |
1 | . [] () |
2 | ++,--,~,! |
3 | *,/,% |
4 | +,- |
5 | <<,>>,>>> |
6 | <,>,<=,>= |
7 | ==,!= |
8 | & |
9 | ^ |
10 | | |
11 | && |
12 | || |
13 | ? : |
14 | =,*=,/=(等赋值运算符) |