- 運算符
1. 算術運算符: +, -, *, /, %, ++, --
2. 賦值運算符 =
3.擴展賦值運算符:+=, -=, *=, /=
4.關係運算符: >, <, >=, <=, ==, !=
5. 邏輯運算符: &&, ||, !
6.位運算符: &, |, ^, ~ , >>, <<, >>> (瞭解! ! ! )
7.條件運算符 ? :
- 算數運算符
注意:
/ (除): 6/4=1 6/4.0=1.5
%取模(求餘): 6%4=2
+ :6+‘a’=103 6+“a“=6a
++ :a=2;b=++a+9; a=2;b=a+++9;
+:字符串相加, 只要有一個操作數是字符串, 自動變爲字符串相連
二元運算符類型提升
整數運算:
如果兩個操作數有一個爲Long, 則結果也爲long
沒有long時, 結果爲int。 即使操作數全爲shot,byte, 結果也是int.
浮點運算:
如果兩個操作數有一個爲double, 則結果爲double.
只有兩個操作數都是float, 則結果才爲float.
賦值運算符
其中後面帶有=號的含有強制類型轉換。
關係運算符
關係運算符用來進行比較運算,關係運算的結果是布爾值: true/false。
注意:
區分==和=
不等於是! =不是<>
邏輯運算符
注意:
1.邏輯運算符與布爾操作數一起使用, 組成邏輯表達式
2.邏輯表達式的結果是布爾值
3.&和&&的區別
1) “&”:無論任何情況, “&”兩邊的表達式都會參與計算。
2)“&&”: 當“&&”的左邊爲false, 則將不會計算其右邊的表達式。 即左false則false
4.“|”和“||”的區別與“&”和“&&”的區別類似。
位運算符
注意:
1.位運算符是對操作數以二進制比特位爲單位進行操作和運算, 操作數和結果都是整型數。
2.如果操作的對象是char、 byte、 short, 位移動作發生前其值會自動晉升爲int, 運算結果
也爲int
條件運算符
1.語法格式
x ? y : z
2. 唯一的三目運算符
3. 執行過程
其中 x 爲 boolean 類型表達式, 先計算 x 的值, 若爲true, 則整個三目運算的結果爲表達式 y 的值, 否則整個運算結果爲表達式 z 的值。
注意:
經常用來代替簡單的if-else判斷!
運算符的優先級
基本數據類型之間的轉換
1.在賦值運算或算術運算時, 要求數據類型相同, 否則要進行類型轉換。
2. 轉換方式:
1)boolean類型不參與轉換
2) 自動轉換
A:從小到大
B:byte,short,char – int – long – float – double
C:byte,short,char之間不相互轉換,直接轉成 int 類型參與運算。
3)強制轉換
A:從大到小
B:可能會有精度的損失,一般不建議這樣使用。
C:格式:目標數據類型 變量名 = (目標數據類型 ) (被轉換的數據 );
特例:可以將整型常量直接賦值給byte, short, char等類型變量, 而不需要進行強制類型轉換, 只要不超出其表數範圍。
注意:
1)除boolean類型外, 所有的基本數據類型因爲各自的精度不同, 賦值時都要考慮這個問題
2)除boolean類型外, 所有的基本數據類型包括: 整型, 浮點型, 字符型。