算数运算符
常见操作
| 运算符 |
运算规则 |
范例 |
结果 |
| + |
正号 |
+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 |
* A:算数运算符++、--的使用
* a: ++运算符,会在原有值的基础上自增1
* b: --运算符,会在原有值的基础上自减1。
* B:++ -- 位置的使用
* a:++,--运算符后置时,先使用变量a原有值参与运算操作,运算操作完成后,变量a的值自增1或者自减1;
* b:++,--运算符前置时,先将变量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,则运算结果为true;
逻辑非! : 参与运算的数据,原先是true则变成false,原先是false则变成true。
三元运算符(三目运算符)
- 格式: (条件表达式)?表达式1:表达式2;
使用方式:
| 方式 |
试例 |
| 方式一: |
System.out.println( 3>2 ? “正确” : “错误” ); // 三元运算符运算后的结果为true,运算结果为表达式1的值“正确”,然后将结果“正确”,在控制台输出打印 |
| 方式二: |
int a = 3;int b = 4;String result = (a==b) ? “相等” : “不相等”; //三元运算符运算后的结果为false,运算结果为表达式2的值“不相等”,然后将结果赋值给了变量result |
| 方式三: |
int n = (3>2 && 4>6) ? 100 : 200;//三元运算符运算后的结果为false,运算结果为表达式2的值200,然后将结果200赋值给了变量n |
运算符优先级
| 优先级 |
描述 |
运算符 |
| 1 |
括号 |
()、[] |
| 2 |
正负号 |
+、- |
| 3 |
自增自减,非 |
++、--、! |
| 4 |
乘除,取余 |
*、/、% |
| 5 |
加减 |
+、- |
| 6 |
移位运算 |
<<、>>、>>> |
| 7 |
大小关系 |
>、>=、<、<= |
| 8 |
相等关系 |
==、!= |
| 9 |
按位与 |
& |
| 10 |
按位异或 |
^ |
| 11 |
按位或 |
| |
| 12 |
逻辑与 |
&& |
| 13 |
逻辑或 |
| |
| 14 |
条件运算 |
?: |
| 15 |
赋值运算 |
=、+=、-=、*=、/=、%= |
| 16 |
位赋值运算 |
&= |=、<<=、>>=、>>>= |