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