1、运算符。
优先级 | 运算符分类 | 运算符 |
由 高 到 低 | 一元运算符 | ++ -- - |
算术运算符 | * / % + - () | |
关系运算符 | < > <= >= == != | |
逻辑运算符 | && || ! | |
三目运算符 | 布尔表达式?表达式1:表达式2 | |
赋值运算符 | = *= /= %= += -= |
1.1、一元运算符
++,自增。++1、1++,写在前边先自增后参与运算,写在后边先参与运算后自增。
--,自减。--1/1-- 写在前边先自减后参与运算,写在后边先参与运算后自减。
-,取反。
1.2、算数运算符
+,加法。求和使用。 1+2=3
-,减法。求差使用。 2-1=1
*,乘法。求积使用。 1*2=2
/,除法。求商使用。 2/2=1
%,余。求模使用。 3%2=1
1.3、关系(比较)运算符
>,大于。 <,小于。 ==,等于。
>=,大于等于。 <=,小于等于。 !=,不等于。
注:=为赋值运算符
1.4、逻辑运算符
&&与(一一得一),||或(任一的一),!非(取反)
1.5、三目运算符
表达式?真值:假值——先判断表达式,如果为true返回真值,否则返回假值。
1.6、赋值运算符
=,赋值。将右侧的值赋给左侧。
+=, a+=b相当于a=a+b;
-= ,a-=b相当于a=a-b;
*= ,a*=b相当于a=a*b;
/= ,a/=b相当于a=a/b;
%= ,a%=b相当于a=a%b;
2、位运算符(二进制)。
优先级 | 运算符分类 | 运算符 |
由 | 一元运算符 | ~ |
移位运算符 | << >> >>> | |
位运算 | ~ & | ^ | |
赋值运算符 | <<= >>= >>>= &= |= ^= |
2.1、位运算(包含一元运算)
&与、|或、~非、^异或
~ 取反,如果为0取1;
& 1&1——>1 1&0——>0 0&1——>0 0&0——>0
| 1|1——>1 1|0——>1 0|1——>1 0|0——>0
^ 相当于把1换成0
1^1——>0 1^0——>0 0^1——>0 0^0——>0
2.2、移位运算符
<<向左移位 在低位补0
例如:2<<2——>8
0000 0010(低位) ——> 0000 1000
>>向右移位
如果是正数,高位补0;如果是负数,高位补1;
例如:100>>3 ——>12
(高位)0110 0100 ——> 0000 1101
-100>>3——>536870899(32位,很长)