算数运算符
运算符 | 运算规则 | 范例 | 结果 |
---|
+ | 正号 | +3 | 3 |
+ | 加 | 2+3 | 5 |
+ | 连接字符串 | “中”+“国” | “中国” |
- | 负号 | int a=3;
-a; | -3 |
- | 减 | 3-1 | 2 |
* | 乘 | 2*3 | 6 |
/ | 除 | 5/2 | 2 |
% | 取模 | 5/2 | 1 |
++ | 自增 | int a=1;
//a++ ;
//++a; | 2 |
– | 自减 | int b=3;
//a--;
//--a; | 2 |
注意
* 加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串
* 除法“/”当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正常规则相除
* “%”为整除取余符号,结果符号与被取余符号相同
* 整数做被除数,0不能做除数,否则报错
* 小数做被除数,整除0结果为Infinity,对0取模结果为NaN
* ++,--运算符后置时,先使用变量a原有值参与运算操作,运算操作完成后,变量a的值自增1或者自减1
* ++,--运算符前置时,先将变量a的值自增1或者自减1,然后使用更新后的新值参与运算操作
赋值运算
运算符 | 运算规则 | 范例 | 结果 |
---|
= | 赋值 | int a=2; | 2 |
+= | 加后赋值 | int a=2;
a+=2; | 4 |
-= | 减后赋值 | int a=2;
a-=2; | 0 |
*= | 乘后赋值 | int a=2;
a*=2; | 4 |
/= | 整除后赋值 | int a=2;
a/=2; | 1 |
%= | 取模后赋值 | int a=2;
a%=2; | 0 |
比较运算符
运算符 | 运算规则 | 范例 | 结果 |
---|
== | 相等于 | 4==3 | false |
!= | 不等于 | 4!=3 | true |
< | 小于 | 4<3 | false |
> | 大于 | 4>3 | true |
<= | 小于等于 | 4<=3 | false |
>= | 大于等于 | 4>=3 | true |
逻辑运算符
运算符 | 运算规则 | 范例 | 结果 |
---|
& | 与 | false&true | false |
| | 或 | false|true | true |
^ | 异或 | true^flase | true |
! | 非 | !true | flase |
&& | 短路与 | false&&true | false |
|| | 短路或 | false||true | true |
注意
* ||和|的区别:无论|两边的运算结果是不是false,|两边的表达式都会运行,而当||左边的运算结果为false时,直接判定结果为true,就不会运算右边的表达式
* &&和&的区别:无论|两边的运算结果是不是false,&两边的表达式都会运行,而当&&左边的运算结果为false时,直接判定结果为false,就不会运算右边的表达式
* &与|还可以作为运算符,分别为位运算与和位运算或
运算符优先级
优先级 | 描述 | 运算符 |
---|
1 | 括号 | ()、[] |
2 | 正负号 | +、- |
3 | 自增自减,非 | ++、--、! |
4 | 乘除,取余 | +、- |
5 | 加减 | +、- |
6 | 移位运算 | <<、>>、>>> |
7 | 大小关系 | >、>=、<、<= |
8 | 相等关系 | ==、!= |
9 | 按位与 | & |
10 | 按位异或 | ^ |
11 | 按位或 | \ |
12 | 逻辑与 | && |
13 | 逻辑或 | || |
14 | 条件运算 | ?: |
15 | 赋值运算 | =、+=、-=、*=、/=、%= |
16 | 位赋值运算 | &=、|=、<<=、>>=、>>>= |