官术网_书友最值得收藏!

3.2.6 運算順序

由一個運算符和對應(yīng)的操作數(shù)構(gòu)成的表達式是簡單表達式。多個運算符和相應(yīng)的操作數(shù)可以構(gòu)成復(fù)雜表達式。計算這類表達式時,需要考慮運算符的優(yōu)先級和結(jié)合性。下面將詳細(xì)講解這兩個問題。

1.優(yōu)先級

優(yōu)先級是指在同一個表達式中多個運算符的運算先后順序。例如,在四則運算中,先進行乘法、除法運算,然后進行加法、減法運算。在Java語言中,表達式也會按優(yōu)先級進行運算。

(1)Java語言的加、減、乘、除、取余運算符的優(yōu)先級如圖3.8所示。

圖3.8 算術(shù)運算符的優(yōu)先級

示例3-18】下面將計算10+2*9。代碼如下:

10+2*9進行運算的順序如圖3.9所示。

圖3.9 運算順序

運行結(jié)果如下:

(2)增量/減量運算符和正/負(fù)運算符的優(yōu)先級高于乘、除、取余運算符的優(yōu)先級,且前已述及,加、減運算符的優(yōu)先級低于乘、除、取余運算符的優(yōu)先級,如圖3.10所示。

圖3.10 運算符的優(yōu)先級

(3)如果需要修改運算順序,可以為對應(yīng)的部分添加括號(?。?,如以下代碼:

(10+2)*9進行運算的順序如圖3.11所示。

運行結(jié)果如下:

圖3.11 運算順序

2.結(jié)合性

結(jié)合性是指多個同級運算符組成表達式的先后順序。在Java語言中,結(jié)合性有兩種,分別為左結(jié)合和右結(jié)合。左結(jié)合就是從左向右組成表達式,執(zhí)行計算,如算術(shù)運算符就是左結(jié)合;右結(jié)合就是從右向左組成表達式,執(zhí)行計算,如增量/減量運算符、正/負(fù)運算符和擴展賦值運算符就是右結(jié)合。

示例3-19】下面將計算a+=b+=c+=5。代碼如下:

a+=b+=c+=5進行運算的順序如圖3.12所示。

運行結(jié)果如下:

圖3.12 運算順序

主站蜘蛛池模板: 湛江市| 红河县| 玉溪市| 龙陵县| 成安县| 渑池县| 景洪市| 叙永县| 丹江口市| 长寿区| 西宁市| 彭山县| 郧西县| 镇江市| 平遥县| 南江县| 苏尼特左旗| 乃东县| 罗甸县| 南江县| 黄山市| 共和县| 大田县| 深水埗区| 水富县| 昌乐县| 昌吉市| 龙山县| 昌图县| 项城市| 文水县| 铜山县| 简阳市| 陵水| 上虞市| 高青县| 佛山市| 武定县| 托里县| 大兴区| 遂昌县|