一、算術操作符
+、-、++、 --(取正、取負、自增、 自減)
+、-、*、/、%(加、減、乘、除、取餘)
前自增自減(如++a或--a),會先運算,再生成值。
後自增自減(如a++或a--),會先生成值,再運算。
整數除法會直接去掉小數
二、關係操作符
<、>、<=、>=、==、!=
操作符:==、!=
基本類型:比較值
對象類型:比較對象的引用
三、邏輯操作符
&&、||、!(與、或、非)
四、按位操作符
&、|、~、^(與、或、非、異或)
五、移位操作符
<<、 >>、 >>>(左移、右移、無符號右移)
六、賦值操作符
=
基本類型:複製值
對象類型:複製對象的引用
六、三元操作符
布爾表達式 ? 值0:值1
與if-else不同,三元操作符,會產生一個值
六、字符連接符
+、+=
連接字符串
若表達式以一個String起頭,那麼後續所有運算對象都會轉換成字符串
七、類型轉換符
除布爾型,其他基本類型均可相互轉換
類類型,可以在其類族之間進行轉換
窄化轉換:可能會丟失信息
擴展轉換:不會丟失信息
浮點型轉爲整型:總是將小數位丟棄
八、類型提升
表達式結果的數據類型:由表達式中出現的最大數據類型決定
short s = 1; s = s + 1;(s+1運算結果是int型,需要強制轉換類型)
short s = 1; s += 1;(+=運算符無類型轉換問題)