如有错误,敬请指正!
注意:
在这里,使用II
表示逻辑或,使用I
表示按位或。
符号 | 说明 |
---|---|
+ |
加法 |
- |
减法 |
* |
乘法 |
/ |
除法,当操作数都是整数时,表示取整除法;否则,表示除法。例如,15/ 2等于7,15/ 2.0等于7.5。 |
% |
取余。例如,15% 7等于1,15.1% 7等于1.0999999999999996。 |
++ |
自增运算符号,表示加1,分为前缀自增和后缀自增。假如n的值为1,前缀自增++ 表达式的值为2,后缀自增n++ 表达式的值为1. |
-- |
自减运算符,表示减1,分为前缀自减和后缀自减。假如n的值为1,前缀自减-- n表达式的值为0,后缀自减n-- 表达式的值为1. |
== |
相等关系运算符,运算结果为boolean值。例如,5== 5的值为true,4== 5的值为false。 |
!= |
不相等关系运算符,运算结果为boolean值。例如,5!= 5的值为false,4!= 5的值为true。 |
> |
大于关系运算符,运算结果为boolean值。例如,5> 5的值为false,5> 4的值为true。 |
>= |
大于等于关系运算符,运算结果为boolean值。例如,5>= 5的值为true,4>= 5的值为false。 |
< |
小于关系运算符,运算结果为boolean值。例如,5< 5的值为false,4< 5的值为true。 |
<= |
小于等于关系运算符,运算结果为boolean值。例如,5<= 5的值为true,5<= 4的值为false。 |
&& |
逻辑与,操作数必须为boolean值,运算结果为boolean值。操作数必须都为true时,表达式的值才为true;否则,表达式的值为false。存在“短路”操作,只要检测到false值,便结束后续判断,直接返回false。 |
II |
逻辑或,操作数必须为boolean值,运算结果为boolean值。操作数必须都为false是,表达式的值采薇false;否则,表达式的值为true。存在“短路”操作,只要检测到true值,便结束后续判断,直接返回true。 |
! |
逻辑非,操作数必须为boolean值,对操作数取反值运算结果为boolean 值。例如,! true的值为false,! false的值为true。 |
& |
按位与,操作数为int或long类型,可以直接对整数的各个二进制位进行操作。会对操作数进行类型强制转换。如果操作数的精度都小于等于int类型,那么强转为int类型,运算结果为int类型;如果有一个操作数为long类型,那么运算结果为long类型。1& 1的值为1,1& 0的值为0。例如,0b1010& 0b1101的值为0b1000。 |
I |
按位或,操作数为int或long类型,可以直接对整数的各个二进制位进行操作。会对操作数进行类型强制转换,跟“按位与”规则一致。1I 1的值为1,1I 0的值为1,0I 0的值为0。例如,0b1010I 0b1101的值为0b1111。 |
^ |
异或,操作数为int或long类型,可以直接对整数的各个二进制位进行操作。会对操作数进行类型强制转换,跟“按位与”规则一致。1^ 1的值为0,1^ 0的值为1,0^ 0的值为0。例如,0b1010^ 0b1001的值为0b0011。 |
~ |
按位非,操作数为int或long类型,可以直接对整数的各个二进制位进行操作。会对操作数进行类型强制转换,跟“按位与”规则一致。~ 1的值为0,~ 0的值为1。~ ((byte)0b1010)的值为0b11111111111111111111111111110101。 |
>> |
右移位,操作数为整数。将整数的所有二进制位向右进行移位操作,并且使用符号位填充最高位。例如,8>> 0、8>> 32的运算结果是8 |
<< |
左移位,操作数为整数。将整数的所有二进制位向左进行移位操作,并且使用0填充最低位。例如,1<< 35、1<< 3的运算结果是8。 |
>>> |
右移位,操作数为整数。将整数的所有二进制位向右进行移位操作,并且使用0填充最高位。例如,8>>> 0、8>>> 32的运算结果是8 |
运算符优先级