1、基礎篇--1.1Java基礎-Java運算符優先級

在一個表達式中可能包含多個有不一樣運算符鏈接起來的、具備不一樣數據類型的數據對象;因爲表達式有多種運算,不一樣的結合順序可能得出不一樣結果甚至出現錯誤運算錯誤,由於當表達式中含多種運算時,必須按必定順序進行結合,才能保證運算的合理性和結果的正確性、惟一性。java

優先級

1.優先級與求值順序無關。如a+b && bc,雖然優先級最高,但這個表達式求值順序是從左到右。
2.優先級從上到下依次遞減,最上面具備最高的優先級,逗號操做符具備最低的優先級。
3.相同優先級中,按結合性進行結合。大多數運算符結合性是從左到右,只有三個優先級是從右至左結合的,它們是單目運算符、條件運算符、賦值運算符。
4.基本的優先級須要記住:
** 指針最優,單目運算優於雙目運算。如正負號。
先算術運算,後移位運算,最後位運算。請特別注意:1 << 3 + 2 & 7等價於 (1 << (3 + 2))&7.
邏輯運算最後結合。 **指針

JAVA語言的優先級

運算符 結合性
. ( ) (方法調用) 從左向右
! ~ ++ -- +(一元運算) -(一元運算) 從右向左
* / % 從左向右
+ - 從左向右
<< >> >>> 從左向右 
< <= > >= instanceof 從左向右
== != 從左向右
& 從左向右
^ 從左向右
| 從左向右
&& 從左向右
|| 從左向右
?: 從右向左
= 從右向左
相關文章
相關標籤/搜索