在最底層,Java中的數據是經過操做符來操做的。測試
3.1更簡單的打印語句spa
把System.out.println(x);封裝在一個類裏,而後用靜態導入方式,使得打印沒必要寫那麼長。對象
import static net.mingview.util.Print.*;靜態導入Print類裏全部方法。
字符串
3.2使用Java操做符編譯器
3.3優先級編譯
3.4賦值import
基礎類型:是值的改變基礎
對象類型:是引用的改變數據類型
3.4.1方法調用中的別名問題引用
傳入方法的對象型參數會有一個別名,這個別名指代的是引用。
3.5算術操做符
Java中算術操做符有+、-、*、/、%、+=、-=、*=、/=、%=
3.5.1一元加減操做符
一元加減號與二元加減號使用相同的符號,編譯器會自動判斷。
x = (-a);
x = a*(-b);
通常用括號使得看起來更明顯。一元加號只是爲了與一元減號相對應,惟一的做用僅僅是把較小的類型轉換成int。
3.6自動遞增和遞減
'++'和'--'都有2種用法,前綴和後綴。
前綴表示先計算再生成值,後綴表示先生成值,再計算。
3.7關係操做符
能夠產生一個boolean結果的操做符是關係操做符。
包括>、<、>=、<=、==、!=
3.7.1測試對象的等價性
==和!=比較的是引用所指向的對象是不是同一個,是則返回true,不然false。
equals()方法能夠被複寫用於比較內容。
3.8邏輯操做符
&&與、||或、!非能夠生成一個boolean值
3.8.1短路
&&若是前面表達式出現false,直接返回false,不會計算剩下的表達式值
||若是前面表達式出現true,直接返回true
3.9直接常量
能夠用0X,L,F,D等字符放於前綴或後綴,表示相應數據類型。
二進制沒有直接表示方法,能夠用Integer,Long的toBinaryString()來輸出二進制字符串
3.9.1指數計數法
float f = 1.39e-43f;
表示1.39*10的-43次方
3.10按位操做符
用於操做二進制位
&按位與,|按位或,^按位異或(不一樣爲1,相同爲0),
~按位非,把數值取反,1變0,0變1
3.11移位操做符
也是操做二進制位的,只能操做整數類型。
左移<<在低位補0,有符號右移>>低位截掉,高位補與符號位相同值。
無符號右移>>>高位補0
二進制負數 = 二進制整數取反+1
3.12三元操做符if-else
e1 ? v1 : v2
3.13字符串操做+和+=
用於拼接字符串
3.14使用操做符常犯錯誤
3.15類型轉換操做符
(轉換類型)
3.15.1截尾和舍入
把float和double轉成int時,會截尾。須要舍入使用Math.round()方法
3.15.2提高
小於int類型在算術或按位計算都會變成int來算
3.16 Java沒有sizeof
Java全部數據類型在全部機器上的大小都是相同的。因此沒必要須要sizeof來肯定類型有多大