一. 運(yùn)算符簡介
1. 概述
電腦的大名之所以被稱為”計算機(jī)“,是因為它最基本、最起初的作用就是進(jìn)行數(shù)學(xué)運(yùn)算。為了實現(xiàn)計算功能,Java為我們提供了多種運(yùn)算符用于各種計算,比如算術(shù)運(yùn)算符(+ - * /)、 關(guān)系運(yùn)算符(< > ==)、邏輯運(yùn)算符、位運(yùn)算符、條件運(yùn)算符等等。
2. 分類
如果我們把運(yùn)算符按照功能來分,可以分為算術(shù)運(yùn)算符、關(guān)系運(yùn)算符(又叫java比較運(yùn)算符)、賦值運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符、三目運(yùn)算符、逗號運(yùn)算符等各種運(yùn)算符。
如果按照操作數(shù)的數(shù)目來分,可以把這些運(yùn)算符分為單目運(yùn)算符、雙目運(yùn)算符和三目運(yùn)算符,分別對應(yīng)于1個、2個、3個操作數(shù)。
3. 運(yùn)算符的目
我們把運(yùn)算符能夠連接操作數(shù)的個數(shù),稱為運(yùn)算符的目,Java的運(yùn)算符的目有三種:
●單目運(yùn)算符:只能連接一個操作數(shù),如“+ +”、”--”;
●雙目運(yùn)算符:可以連接兩個操作數(shù),Java語言中多數(shù)運(yùn)算符都屬于雙目運(yùn)算符,如“+、-、*”等;
●三目運(yùn)算符:可以連接三個操作數(shù),Java語言中只有一個三目運(yùn)算符,即條件運(yùn)算符”? :“。
4. 運(yùn)算符的優(yōu)先級
運(yùn)算符的優(yōu)先級是指在表達(dá)式中出現(xiàn)多個不同的運(yùn)算符,在進(jìn)行計算時運(yùn)算符執(zhí)行的先后次序。比如算術(shù)運(yùn)算符中,乘除運(yùn)算符的優(yōu)先級高于加減運(yùn)算符的優(yōu)先級。在Java語言中,不同的運(yùn)算符具有不同的優(yōu)先級,我們在開發(fā)時要優(yōu)先處理優(yōu)先級高的運(yùn)算符。參考下圖:
這么多的優(yōu)先級規(guī)則,你很難記得住,其實你也不必記憶,我們在使用時直接加括號就可以了,和數(shù)學(xué)里的規(guī)則一樣。
5. 運(yùn)算符的結(jié)合方向
運(yùn)算符的結(jié)合方向又稱為結(jié)合性,是指當(dāng)一個操作數(shù)連接兩個相同優(yōu)先級的運(yùn)算符時,會按運(yùn)算符所規(guī)定的結(jié)合方向進(jìn)行處理。Java中各運(yùn)算符的結(jié)合性分為兩種,分別為左結(jié)合性(自左向右)和右結(jié)合性(自右向左)。比如常見的+、-、*、/等運(yùn)算就是自左向右,而Java里的=賦值運(yùn)算,則是從右向左。
在Java中,所有的數(shù)學(xué)運(yùn)算都是從左向右進(jìn)行運(yùn)算的,其他的大部分運(yùn)算也是遵守從左向右的規(guī)則。但一元運(yùn)算符,賦值運(yùn)算符和三目運(yùn)算符例外,他們是從右向左進(jìn)行運(yùn)算的。