运算符
运算符 | 说明 |
---|---|
= | 赋值运算符 |
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 取余数 |
++ | 自增 |
– | 自减 |
> | 大于 |
< | 小于 |
== | 等于 |
>= | 大于等于 |
<= | 小于等于 |
!= | 不等于 |
&& | 逻辑或 |
! | 逻辑非 |
& | 按位与 |
按位或 | |
^ | 按位异或 |
~ | 按位取反 |
<< | 左移 |
>> | 右移 |
>>> | 无符号右移 |
? : | 三元运算 |
+=、_ =、*=、/=、%=、&=、 |=、^=、<<=、>>= 、>>>= | 结合赋值 |
优先级与结合性
优先级 | 运算符 | 描述 | 集合性 |
---|---|---|---|
1 | () | 括号 | 从左向右 |
2 | +、- | 正负号 | 从左向右 |
3 | ++、–、! | 一元运算符 | 从左向右 |
4 | *、 / 、% | 乘除 | 从左向右 |
5 | +、- | 加减 | 从左向右 |
6 | >>、>>>、<< | 位运算 | 从左向右 |
7 | <、<=、>、>= | 比较运算 | 从左向右 |
8 | ==、!= | 比较是否相等 | 从左向右 |
9 | & | 按位与运算 | 从左向右 |
10 | ^ | 按位异或运算 | 从左向右 |
11 | | | 按位与运算 | 从左向右 |
12 | && | 逻辑与运算 | 从左向右 |
13 | || | 逻辑或运算 | 从左向右 |
14 | ?: | 三元运算 | 从右向左 |
15 | = | 赋值运算 | 从右向左 |
16 | += _ =、*=、/=、%=、&=、 |=、^=、<<=、>>>= 、>>>= | 结合赋值 | 从右向左 |
n++与++n的效果是不一样的。对于++n会先生运算,再赋值;对于n++为先赋值,在运算。
如:
int n = 1;
System.out.println(++n); // 2
System.out.println(n); // 2
int b = 1;
System.out.println(b++); // 1
System.out.println(b); // 2