前言java
JavaSE是Java開發者必須熟練掌握的基礎知識,我在這裏把一些日常比較容易忽視的點記錄下來,以便後面查閱。數組
1、數據類型轉換 spa
Java數據類型主要分爲兩大類,基本數據類型和引用數據類型。基本數據類型分爲四類八種基本類型,包括整數、浮點數、字符、布爾;引用數據類型主要爲類、數組、接口等。code
四類八種數據類型blog
1.1 自動類型轉換接口
java在給數據類型賦值運算時,會自動將取值範圍小的數據類型提高到取值範圍大的數據類型(如byte、short、char運算時會自動提高爲int)。開發
值得一提的是,b3=1+2這句,編譯沒有報錯,前面咱們說過byte、short、char運算時會自動提高爲int,此時咱們並無進行強制轉換,爲何沒有報錯呢?緣由是1和2是常量,在編譯時期已經肯定他們相加不會超過byte的取值範圍,編譯器會將編譯器
他們相加的結果轉爲byte類型。而b4=b1+b2,編譯就會報錯,這是由於b1和b2是兩個變量,編譯器沒法在編譯時期肯定他們的值,會將他們相加的值做爲int類型處理,用byte來接收天然會報錯了。編譯
+=、-=、*=、/=這些複合賦值運算符,在運算時,會隱式的將int向下轉爲byte、short、char等類型,因此b4+=1語句不會報錯。class
1 public static void main(String[] args){ 2 byte b1=1; 3 byte b2=2; 4 byte b3=1 + 2; 5 byte b4=b1 + b2; 6 b4+=1; 7 System.out.println(b3); 8 System.out.println(b4); 9 }
1.2 強制類型轉換
在將取值範圍大的數據類型的值賦值給取值範圍小的數據類型變量時,必須進行強制轉換,將取值範圍大的數據類型的值轉換成取值範圍小的數據類型,不然編譯會報錯,而且轉換過程當中會形成必定的精度丟失。