Java提供了豐富的運算符,如算術運算符、關系運算符、邏輯運算符、位運算符等等。Java的表達式就是用運算符連接起來的符合Java規則的式子。運算符的優先級決定了表達式中運算執行的先后順序。在編寫程序時盡量的使用括號()運算符號來實現想要的運算次序,以免產生難以閱讀或含糊不清的計算順序。運算符的結合性決定了並列的相同級別運算符的先后順序。
算術運算符
1.加減運算符: +,-
加減運算符是二目運算符;加減運算符的結合方向是從左到右;加減運算符的操作元是整型或浮點型數據,加減運算符的優先級是4級。
2.乘、除和求余運算符: *,/,%
以上運算符是二目運算符,結合方向是從左到右,乘、除和求余運算符的操作元是整型或浮點型數據。運算符的優先級是3級。
3.算術表達式
用算術符號和括號連接起來的符合java語法規則的式子,稱為算術表達式
4.自增自減運算符:++,--
是單目運算符,可以放在操作元之前,也可以放在操作元之后。操作元必須是一個整型或浮點型變量。作用是使變量的值增1或減1,如:
++x(--x)表示在使用x之前,先使x的值增(減)1。
x++(x--)表示在使用x之后,使x的值增(減)1。
運算精度
精度從“低”到“高”排列的順序是:
byte short char int long float double
Java在計算算術表達式的值時,使用下列計算精度規則:
1.如果表達式中有雙精度浮點數(double型數據),則按雙精度進行運算。
2.如果表達式中最高精度是單精度浮點數(float型數據),則按單精度進行運算。
3.如果表達式中最高精度是long型整數,則按long精度進行運算。
4.如果表達式中最高精度低於int型整數,則按int精度進行運算。
關系運算符
關系運算符是二目運算符,用來比較兩個值的關系。關系運算符的運算結果是boolean型,當運算符對應的關系成立時,運算結果是true,否則是false。
邏輯運算符
邏輯運算符包括:&&,||,!
其中&&、||為二目運算符,實現邏輯與、邏輯或。
!為單目運算符實現邏輯非。
邏輯運算符的操作元必須是boolean型數據,邏輯運算符可以用來連接關系表達式。
位運算符
在實際Java中位運算符用的比較少
兩個整型數據實施位運算,即對兩個整型數據對應的位進行運算得到一個新的整型數據。
1.按位與”運算
“按位與”運算符“&”是二目運算符。
2.按位或”運算
“按位或”運算符:“|”是二目運算符。
3.按位非”運算
“按位非”運算符:“~”是單目運算符。
4.按位異或”運算
“按位異或”運算符:“^”是二目運算符。
其他
1、賦值運算符和賦值表達式:=
賦值運算符是二目運算符,左面的操作元必須是變量,不能是常量或表達式。
賦值運算符的優先級較低,是14級,結合方向右到左。
賦值表達式的值就是“=”左面變量的值。
注意:不要將賦值運算符“=”與關系運算符“==”混淆。
2、instanceof運算符
instanceof 運算符是二目運算符,左面的操作元是一個對象;右面是一個類。當左面的對象是右面的類或子類創建的對象時,該運算符運算的結果是true ,否則是false。