書名: 零基礎(chǔ)學(xué)Java程序設(shè)計作者名: 祝明慧編著本章字?jǐn)?shù): 586字更新時間: 2022-05-06 19:56:04
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 運算順序
- 機器人Python青少年編程開發(fā)實例
- Unity 5.x By Example
- 自然語言處理Python進階
- Visual Basic程序設(shè)計上機實驗教程
- MongoDB,Express,Angular,and Node.js Fundamentals
- 編程菜鳥學(xué)Python數(shù)據(jù)分析
- iOS自動化測試實戰(zhàn):基于Appium、Python與Pytest
- Programming Microsoft Dynamics? NAV 2015
- Implementing Microsoft Dynamics NAV(Third Edition)
- Instant GLEW
- Mastering Machine Learning with R
- PHP動態(tài)網(wǎng)站開發(fā)實踐教程
- Python數(shù)據(jù)可視化之matplotlib實踐
- MySQL核心技術(shù)與最佳實踐
- 軟件測試項目實戰(zhàn)之功能測試篇