更新時間:2023年11月06日11時23分 來源:傳智教育 瀏覽次數(shù):
在Java中,在對一些比較復雜的表達式進行運算時,要明確表達式中所有運算符參與運算的先后順序,通常把這種順序稱為運算符的優(yōu)先級。Java中運算符的優(yōu)先級如下所示,左側(cè)代表優(yōu)先級,右側(cè)表示運算符。
在上述所示中,數(shù)字越小優(yōu)先級越高。根據(jù)上方的優(yōu)先級運算符,分析下面代碼的運行結(jié)果。
int a =2; int b = a + 3*a; System.out.println(b);
運行結(jié)果為 8,由于運算符*的優(yōu)先級高于運算符十和=,因此先運算 3*a,得到的結(jié)果是 6,再將6與a相加,最后通過運算符=賦值給變量 b,得到最后的結(jié)果8。
int a =2; int b = (a+3) * a; System.out.println (b);
運行結(jié)果為 10,由于運算符()的優(yōu)先級最高,因此先運算括號內(nèi)的 a+3,得到的結(jié)果是5,再將5與a相乘,最后通過運算符一賦值給變量 b,得到最后的結(jié)果 10。
其實沒有必要去刻意記憶運算符的優(yōu)先級。編寫程序時,盡量使用括號()來實現(xiàn)想要的運算順序,以免產(chǎn)生歧義。