Java運算子優先順序

2021-07-26 09:55:40 字數 2199 閱讀 2405

序列號

符號名稱

結合性(與運算元)

目數說明1

.點從左到右雙目

( )圓括號

從左到右

[ ]方括號從左到右 2

+正號從右到左單目

- 負號從右到左單目

++自增

從右到左單目

字首增,字尾增

- -

自減從右到左

字首減,字尾減

~按位非/取補運算

從右到左單目

!邏輯非

從右到左單目

「!」不可以與「=」聯用 3

*乘從左到右雙目

/除從左到右雙目

整數除法:取商的整數部分,小數部分去掉,不四捨五入%取餘

從左到右雙目

4 +加

從左到右雙目

-減從左到右雙目

5 <

左移位運算子

從左到右雙目

>> 

帶符號右移位運算子

從左到右雙目

>>> 

無符號右移

從左到右雙目

6 小於從左到右雙目

關係運算子「大於」說明

<=

小於或等於

從左到右雙目

大於從左到右雙目

>=

大於或等於

從左到右雙目

instanceof

確定某物件是否屬於指定的類

從左到右雙目

7 ==等於

從左到右雙目

關係運算子「==」說明 !=

不等於從左到右雙目

8 &按位與

從左到右雙目

9 |按位或

從左到右雙目

10 ^按位異或

從左到右雙目

11 &&短路與

從左到右雙目

12 ||短路或

從左到右雙目

13 ? :條件運算子

從右到左三目

14 =賦值運算子

從右到左雙目

+=混合賦值運算子 -=

*= /=

%= &=

|= ^=

<<=

>>=

>>>=

說明:

1、算數運算子

+ :加法

- :減法

* :乘法

/ :除法

% :取餘運算

2、關係運算子

< :只能比較基本型別資料之間的關係,不能比較物件之間的關係。

> : (同關係運算子「

<=: (同關係運算子「

>=: (同關係運算子「

== :若使用該運算子比較兩個物件的引用(變數),則實質上是比較兩個變數是否引用了相同的物件。所謂相同的物件是指,是否是在堆疊(heap)中開闢的同一塊兒記憶體單元中存放的物件。

若比較兩個物件的引用(變數)所引用的物件的內容是否相同,則應該使用equals()方法,該方法的返回值型別是布林值。需要注意的是:若用類庫中的類建立物件,則物件的引用呼叫equals()方法比較的是物件的內容;若用自定義的類來建立物件,則物件的引用呼叫equals()方法比較的是兩個引用是否引用了同乙個物件,因為第二種情況equals()方法預設的是比較引用。

!= :(同關係運算子「==」)

3、邏輯運算子 (操作符只能是布林型別的) &&

||!

1

public

class

demo

10 }

4、位運算子 &

|^! :不可以與=聯用,因為!是一元操作符;不可以對布林型別的資料進行按位非運算

5、移位運算子(只能處理整數運算子)

char、byte、short型別,在進行移位之前,都將被轉換成int型別,移位後的結果也是int型別;移位符號右邊的運算元只擷取其二進位制的後5位(目的是防止因為移位操作而超出int型別的表示範圍:2的5次方是32,int型別的最大範圍是32位);對long型別進行移位,結果仍然是long型別,移位符號右邊的操作符只擷取其二進位制的後6位。

<< :

>> :若符號位為正,則在最高位插入0;若符號位為負,則在最高位插入1

>>> :無論正負,都在最高位插入0

1

public

class

demo

12 }

java運算子優先順序

單目 單目運算子 負數 等 乘除 算數單目運算子 為 位移單目運算子 關係 關係單目運算子 邏輯 邏輯單目運算子 三目 三目單目運算子a b x y 後 無意義,僅僅為了湊字數 賦值 賦值 1 該表中優先順序按照從高到低的順序書寫,也就是優先順序為1的優先順序最高,優先順序14的優先順序最低。2 結...

Java運算子優先順序

具體運算子的優先順序見下表 運算子優先順序表 優先順序 運算子 結合性 1 從左到右 2 正 負 從右向左 3 從左向右 4 加 減 從左向右 5 從左向右 6 instanceof 從左向右 7 從左向右 8 按位與 從左向右 9 從左向右 10 從左向右 11 從左向右 12 從左向右 13 從...

JAVA 運算子優先順序

當多個運算子出現在乙個表示式中,誰先誰後呢?這就涉及到運算子的優先順序別的問題。在乙個多運算子的表示式中,運算子優先順序不同會導致最後得出的結果差別甚大。例如,1 3 3 2 2,這個表示式如果按加號最優先計算,答案就是 18,如果按照乘號最優先,答案則是 14。再如,x 7 3 2,這裡x得到13...