首頁常見問題正文

Java編程基礎(chǔ):運算符的優(yōu)先級

更新時間:2022-10-31 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

  在Java中,在對一些比較復(fù)雜的表達(dá)式進(jìn)行運算時,要明確表達(dá)式中所有運算符參與運算的先后順序,通常把這種順序稱為運算符的優(yōu)先級。Java中運算符的優(yōu)先級如下所示,左側(cè)代表優(yōu)先級,右側(cè)表示運算符。

  1..[] ()

  2.++ -- ~ ! (數(shù)據(jù)類型)

  3.* / %

  4.+ -

  5.<< >> >>>

  6.< > <= >=

  7.== !=

  8.&

  9.^

  10.|

  11.&&

  12.||

  13.?:

  14.= *= /= %= += -= <<= >>= >>>= &= ^= |=

  在上述所示中,數(shù)字越小優(yōu)先級越高。根據(jù)上方的優(yōu)先級運算符,分析下面代碼的運行結(jié)果。

int a =2;
int b = a + 3*a;
System.out.println(b);

  上述代碼的運行結(jié)果為9,由于運算符“*”的優(yōu)先級高于運算符“+”,因此先運算3*a,得到的結(jié)果是6,再將6與a相加,得到最后的結(jié)果8。

int a =2;
int b = (a+3) * a;
System.out.println (b);

  上述代碼運行結(jié)果為10,由于運算符“()”的優(yōu)先級最高,因此先運算括號內(nèi)的a+3,得到的結(jié)果是6,再將6與a相加,得到最后的結(jié)果8。

  上述代碼運行結(jié)果為10,由于運算符“()”的優(yōu)先級最高,因此先運算括號內(nèi)的a+3,得到的結(jié)果是5,再將5與a相乘,得到最后的結(jié)果是10。

  在學(xué)習(xí)過程中,讀者沒有必要刻意記憶運算符的優(yōu)先級。編寫程序時,盡量使用括號“()”實現(xiàn)想要的運算順序,以免產(chǎn)生歧義。

分享到:
在線咨詢 我要報名
和我們在線交談!