一道笔试题:
8|9&10^11
当我按顺序计算完之后,发现选项里面没有我计算的结果。。。
就估计这道题是考察位运算符优先级的,回来之后赶紧查查记住,知识点啊!
Java运算符优先级(from 百度百科):
运算符 | 结合性 |
---|---|
[ ] . ( ) (方法调用) | 从左向右 |
! ~ ++ -- +(一元运算) -(一元运算) | 从右向左 |
* / % | 从左向右 |
+ - | 从左向右 |
<< >> >>> | 从左向右 |
< <= > >= instanceof | 从左向右 |
== != | 从左向右 |
& | 从左向右 |
^ | 从左向右 |
| | 从左向右 |
&& | 从左向右 |
|| | 从左向右 |
?: | 从右向左 |
=
|
从右向左
|
可以发现题目中3个运算符的优先级从高到低为:& ^ |