算数运算符
+ - * / %(取余数)
+ 号 两边如果有字符串,就不再是求和,而是字符串的连接符号;
% 号 结果的符号只与被模数有关;经常使用 % 来获取数值各个位上的值;
一元运算符
++ --
自加和自减运算符:如果运算符在前,先进行自加自减运算,再进行赋值或运算;
如果运算符在后,先进行赋值或运算,再进行自加自减运算;
赋值运算符
= += -= *= /= %=
+= 相当于计算出结果后,又进行了一次强制类型转换;
关系运算符
== != < > <= >=
输出 true false两种结果;
== 两边是引用数据类型时 判断 等号 两边的内存地址是否相等;
逻辑运算符
& |
& 逻辑与 两边的表达式只要有一个为false,整体结果为false;
只有两边表达式都为true,整体结果为true;
true & true = true
true & false = false
false & true = false
false & false = false
| 逻辑或 两边的表达式只要有一个为true,整体结果为true;
只有两边表达式都为false,整体结果为false;
true | true = true
true | false = true
false | true = true
false | false = false
!逻辑非
!true = false;
!false = true;
&& || 也称为逻辑与、逻辑或 ,有短路的作用;
&& 如果有表达式的结果为 false , 后面的表达式将不会被执行,整体结果为false;
|| 如果有表达式的结果为 true , 后面的表达式将不会被执行,整体结果为true;
位运算符
& 按位与 | 按位或 ^ 按位异或 ~ 取反 ;<< 按位左移 >> 按位右移 >>> 无符号右移
&
1 & 0 = 0
1 & 1 = 1
0 & 1 = 0
0 & 0 = 0
|
1 | 0 = 1
1 | 1 = 1
0 | 1 = 1
0 | 0 = 0
^
1 ^ 0 = 1
1 ^ 1 = 0 规律:1、两边相同时结果为 0 ,两边不同时结果为 1 ;
0 ^ 1 = 1 2、一个数异或另一个数两次,结果是其本身;(加密和解密)
0 ^ 0 = 0
~ 0000-0000 0000-0000 0000-0000 0001-1101 29
1111-1111 1111-1111 1111-1111 1110-0010 -30
1111-1111 1111-1111 1111-1111 1110-0011 -29
<< 按位左移 左移几位 就相当于将这个数与2的几次幂相乘;
>> 按位右移 补位数字与符号位数字相同 右移几位 就相当于将这个数与2的几次幂相除;
>>> 按位无符号右移 无论正负 都是用0 来补位;
三元运算符
(条件表达式)?表达式1:表达式2;如果条件表达式为true,整体结果为表达式1的值;如为false,整体结果为表达式2的值;
Java运算符优先级
序列号 |
符号 |
名称 |
结合性(与操作数) |
目数 |
说明 |
1 |
. |
点 |
从左到右 |
双目 |
|
( ) |
圆括号 |
从左到右 |
|
|
|
[ ] |
方括号 |
从左到右 |
|
|
|
2 |
+ |
正号 |
从右到左 |
单目 |
|
- |
负号 |
从右到左 |
单目 |
|
|
++ |
自增 |
从右到左 |
单目 |
前缀增,后缀增 |
|
- - |
自减 |
从右到左 |
前缀减,后缀减 |
||
~ |
按位非/取补运算 |
从右到左 |
单目 |
|
|
! |
逻辑非 |
从右到左 |
单目 |
||
3 |
* |
乘 |
从左到右 |
双目 |
|
/ |
除 |
从左到右 |
双目 |
整数除法:取商的整数部分,小数部分去掉,不四舍五入 |
|
% |
取余 |
从左到右 |
双目 |
|
|
4 |
+ |
加 |
从左到右 |
双目 |
|
- |
减 |
从左到右 |
双目 |
|
|
5 |
<< |
左移位运算符 |
从左到右 |
双目 |
|
>> |
带符号右移位运算符 |
从左到右 |
双目 |
|
|
>>> |
无符号右移 |
从左到右 |
双目 |
|
|
6 |
< |
小于 |
从左到右 |
双目 |
|
<= |
小于或等于 |
从左到右 |
双目 |
|
|
> |
大于 |
从左到右 |
双目 |
|
|
>= |
大于或等于 |
从左到右 |
双目 |
|
|
instanceof |
确定某对象是否属于指定的类 |
从左到右 |
双目 |
|
|
7 |
== |
等于 |
从左到右 |
双目 |
|
!= |
不等于 |
从左到右 |
双目 |
|
|
8 |
& |
按位与 |
从左到右 |
双目 |
|
9 |
| |
按位或 |
从左到右 |
双目 |
|
10 |
^ |
按位异或 |
从左到右 |
双目 |
|
11 |
&& |
短路与 |
从左到右 |
双目 |
|
12 |
|| |
短路或 |
从左到右 |
双目 |
|
13 |
? : |
条件运算符 |
从右到左 |
三目 |
|
14 |
= |
赋值运算符 |
从右到左 |
双目 |
|
+= |
混合赋值运算符 |
|
|||
-= |
|
||||
*= |
|
||||
/= |
|
||||
%= |
|
||||
&= |
|
||||
|= |
|
||||
^= |
|
||||
<<= |
|
||||
>>= |
|
||||
>>>= |
|