在最底層,Java中的數據是經過使用操做符來操做的。java
1.操做符
- 用於操做數,接受一個或多個參數,並生成一個新值.
- 反作用:操做符可能會改變操做數自身的值.
- 能改變其操做數的操做符,最廣泛的用途是用來產生反作用.
- 使用有反作用的操做符和沒有反作用的操做符,生成的值沒有什麼區別.
2.優先級
3.賦值
- "=":將右邊的值附給左邊的變量.
- 別名現象:是Java操做對象的一種基本方式.(對象傳遞的是引用,出現不一樣的名字)
4.算術操做符
- "+", "-", "*", "/", "%"(向下取整)
- 一元加減號:編譯器自動識別,規範加括號.(eg:x = a*(-b))
- 一元減號:改變數據的符號.
- 一元加號:與一元減號對應,將較小類型的操做數提高爲int.
5.自增,自減
- "i++","++i","i--","--i"
- 除涉及賦值的操做符之外,惟一具備"反作用"的操做符.
- 前綴:先執行運算,在生成值.
- 後綴:先生成值,在執行運算.
6.關係操做符
- ">", "<", ">=", "<=", "==", "!="
- 返回true/false
- equals :默認比較引用,重寫比較內容,不適合用於基本類型.
- ==:比較引用.
7.邏輯操做符
- "&&", "||", "!"
- 短路(潛在的性能提高).
8.直接常量
- "0x?"(十六進制),"0?"(十進制),"?l/L"(浮點型),"?d/D"(雙精度型)
- 指數記數:e 表明 "10的冪次".
9.按位操做符
- "&", "|", "~", "^"
- 可與"="聯合使用.
10.移位操做符
- "<<"(左移,低位補0), ">>"(有符號右移,高位正插0,負插1), ">>>"(無符號右移,高位插0)
- 只可用來處理整數類型.
- 可與"="聯合使用.
11.三元運算符
- boolean-exp ? value0 : value1;
12.字符串操做符
- "+", "+=".
- String 重載了 "+","+=".
- 操做符重載:java不能實現本身的重載操做符.
- 若是表達式以一個字符串起頭,那麼後續全部操做數都必須是字符串類型(編譯器會把雙引號內的字符序列自動轉成字符串).
13.類型轉換操做符
- 類型轉換:(cast).
- 向上轉型:強制類型轉換.
- 向下轉型:沒必要顯示地進行轉換.
- 截尾:向下取整.
- 舍入:Math.round(),四捨五入.
- 對基本數據類型進行執行算術運算或按位運算,只要類型比int小,在運算以前,會自動轉換成int,最終結果就是int型,若是要把結果賦值給較小的類型,就必須使用類型轉換.
14.sizeof
- sizeof()操做符:返回數據分配的字節數.
- Java不須要sizeof,由於全部類型在全部機器中的大小是相同的.
END性能