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