前情回顾
在上一篇文章重温Java基础(七):位运算符中,详细介绍了Java中的位运算符,包括 & ("and")、| ("or")、^ ("xor")、~ ("not")等。同时,也介绍了这些位运算符的一些特殊用法,如取固定二进制位、快速幂、清零等。
本章重点
本章将介绍Java中的运算符级别。
运算符级别
运算符 | 结合性 |
[ ] . ( )(方法调用) | 从左向右 |
! ~ ++ -- + (一元运算) - (一元运算) ( ) (强制类型转换) new | 从右向左 |
* / % | 从左向右 |
+ - | 从左向右 |
<< >> >>> | 从左向右 |
< <= >>= instanceof | 从左向右 |
== != | 从左向右 |
& | 从左向右 |
^ | 从左向右 |
| | 从左向右 |
&& | 从左向右 |
|| | 从左向右 |
?: | 从右向左 |
= += -= *= /= %= &= |= ^= <<= >>= >>>= | 从右向左 |
如果表达式中没有圆括号,则按照表格中的运算符优先级次序进行计算。同一个级别的运算符按照从左向右的次序进行计算(除了表格中的右结合运算符)。
例如:x && y || z,由于 && 的优先级比 || 要高,所以等同于 (x && y) || z。
例如:x *= y += z,由于 +=、*= 都是右结合运算符,所以等同于 x *= (y += z),即先将 z 加到 y 上,然后再将结果乘到 x 上。
源码
github
https://github.com/liuminglei/ReviewJavaFoundation/tree/master/08
gitee
https://gitee.com/xbd521/ReviewJavaFoundation/tree/master/08
回复以下关键字,获取更多资源
SpringCloud进阶之路 | Java 基础 | 微服务 | JAVA WEB | JAVA 进阶 | JAVA 面试 | MK 精讲
笔者开通了个人微信公众号【银河架构师】,分享工作、生活过程中的心得体会,填坑指南,技术感悟等内容,会比博客提前更新,欢迎订阅。
技术资料领取方法:关注公众号,回复微服务,领取微服务相关电子书;回复MK精讲,领取MK精讲系列电子书;回复JAVA 进阶,领取JAVA进阶知识相关电子书;回复JAVA面试,领取JAVA面试相关电子书,回复JAVA WEB领取JAVA WEB相关电子书。