Java运算符及其优先级

如有错误,敬请指正!

注意:
在这里,使用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类型,可以直接对整数的各个二进制位进行操作。会对操作数进行类型强制转换,跟“按位与”规则一致。1I1的值为1,1I0的值为1,0I0的值为0。例如,0b1010I0b1101的值为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

运算符优先级

运算符优先级

猜你喜欢

转载自blog.csdn.net/yumeizui8923/article/details/79420809