Java運算子的優先順序

來源:酷知科普網 2.75W

Java運算子的優先順序

操作方法

(01)Java表示式可能存在多個運算子,運算子之間存在優先順序的關係,級別高的運算子先執行運算,級別低的運算子後執行運算,下表列出了運算子的優先順序。表中優先順序欄,數字越小優先順序越高,每個運算子用中文頓號分割。

Java運算子的優先順序

(02)表中結合性指運算子結合的順序,通常都是從左到右。從右到左的運算子最典型的就是數值前面的正負號,例如3+-4,則意義為3加-4,符號首先和運算子右側的內容結合。表中運算子‘[]’前面沒有講到,該運算子表示宣告一個陣列,關於陣列後面會詳細講述。表中小括號‘()’優先順序最高,表示式含有小括號的,優先執行小括號的內容,如果包含多個小括號,執行順序是從左到右。例如,假設變數a的值為12,下述語句的執行會有不同的結果:(1)執行 a + 18 % 4 ,因為運算子%的優先順序高於運算子+,該語句先執行取餘運算,再執行加法運算,其結果為14;(2)執行( a + 18 ) % 4 ,因為小括號的優先順序最高,該語句先執行小括號裡的表示式a+18,再執行取餘運算,其結果為2;(3)執行 a * ( ( a + 18 ) % 4 ),該語句括號內巢狀括號,執行順序是先執行內層括號的運算,再執行外層括號的運算,其運算結果為24。運算子優先順序在D盤Java目錄下,新建“”檔案。用記事本開啟“”檔案,輸入以下程式碼:

Java運算子的優先順序 第2張

(03)程式功能主要是演示運算子的優先順序。語句“a += ++b;”,涉及到運算子+=和++兩個運算子,從運算子優先順序表可知,++運算子的優先順序要高於+=運算子,b應先做自增運算,然後再與a相加,結果為15。一個特例是,語句“a += b++;”,雖然++的優先順序高於+=,但此語句的++是字尾式,字尾式是先使用再自增(參見算術運算子一節),因此,b先與a相加後,再做自增運算,結果為14。編譯“”檔案,在命令列視窗輸入“javac  ”並執行命令,編譯通過後,在命令列視窗輸入“java  PrioritySample”執行Java程式,命令列視窗顯示如下資訊:從上述結果可以看出,++運算子的優先順序要高於+=運算子,b應先做自增運算,然後再與a相加,結果為15。

Java運算子的優先順序 第3張
熱門標籤