`
lysongfei
  • 浏览: 59238 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java运算符优先级

阅读更多
优先级
运算符
结合性
1
() [] .
从左到右
2
! +(正)  -(负) ~ ++ --
从右向左
3
* / %
从左向右
4
+(加) -(减)
从左向右
5
<< >> >>>
从左向右
6
< <= > >= instanceof
从左向右
7
==   !=
从左向右
8
&(按位与)
从左向右
9
^
从左向右
10
|
从左向右
11
&&
从左向右
12
||
从左向右
13
?:
从右向左
14
= += -= *= /= %= &= |= ^=  ~=  <<= >>=   >>>=
从右向左

说明:

移位运算符

>>右移;<<”左移;>>>”无符号右移

位逻辑运算符

&”与;“|”或;~”非;^”异或

&”与;“|”或;~”非是基本逻辑运算,由此可以演变出“与非”、“或非”、“与或非”符合逻辑运算、“^”异或是一种特殊的逻辑运算,对它求反可以得到“同或”,所以“同或”逻辑也要“异或非”逻辑。

“&”两个运算数都为1时,结果为1,其余结果为0
“ | ”
两个运算数都为0时,结果为0,其余结果为1
“ ^ “
两个运算数相同时,结果为0,不同时结果为1
” ~ “0
变成11变成0

布尔运算符

&&:对运算数进行与运算,当所有的运算数都为true时,结果为true,否则为false&&是短路与,意思是:当对运算数的表达式进行从左到右运算时,若遇到右运算数的值为false,则结束运算,将结果置为false

||:对运算数进行运算,当所有运算数都为false时,结果为false,否则结果为true||是短路或,意思是:当对运算数的表达式进行从左到右的运算时,若遇到有运算数的值为ture,就结束运算,将结果置为true

:对运算数的值进行取反运算,运算数为true,取反为false

&&运算符和&&一样,对运算数做与操作,不同的是它不是短路的,它会运算完所有的运算数表达式

||运算符和||一样,对运算数进行或操作,但它不是短路的

赋值运算符=+=-=*=/=&=|=^=

i+=j ------ i=i+j

i-=j ------ i=i-j

i*=j ------ i=i*j

i/=j ------ i=i/j

i&=j ------ i=i&j

i|=j ------ i=i|j

i^=j ------ i=i^j

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics