六、數據類型進階
(一)整數類型
1.Java的4種整數類型:byte、short、int、long。
2.java默認的整數計算類型是int型。
如:byte a = 5;
byte b = a+10;(這裏會報錯,因爲計算的默認結果是int類型。改爲:byte b = (byte)a+10;或者int b = a+10;)
3.整數的字面量默認是int類型;若字面量超過int類型的最大值(2^31-1),則字面量是long類型(末尾加l/L表示long類型)。
4.java底層byte、short均按照int類型來計算。
(二)浮點類型
1.浮點類型是用於表示小數的數據類型。
2.浮點數表示原理:二進制科學記數法。
3.Java浮點類型:float、double。
(1)float:32位,1位符號位,8位指數位,23位尾數。
float的精度是23位,即能精確表達23位的數,一旦超過23位就會被截取。
小數是以尾數長度來表示精度的,如pi=3.1415926,精度是7位。
float的存儲數據的範圍大於int類型,但精度比int小,int類型的精度是31位。
(2)double:1位符號位,11位指數,52位尾數。
double的範圍遠遠大於long,但double的精度小於long(long類型的精度是63位)。
4.Java默認浮點類型的計算結果是double類型,字面量也是默認double類型。
若要給float類型賦值,字面量後需添加f/F來表示float類型。如:float f = 5.3f;
(三)字符類型
1.char類型的字面量可以是一個英文字母、字符或一個漢字,用單引號包括。
2.Unicode碼
常用的是數字0-9(0:48),大小寫字母(a:97,A:65)對應的Unicode碼。
(四)轉義字符
1.通過轉義字符來表示一些特殊的字符,格式是用一個反斜槓表示“\”。
如:’\n’表示換行;’\t’表示製表位字符;’\\’表示\;’\’’表示單引號;’\”’表示雙引號;
(五)布爾類型
1.布爾類型表示肯定和否定兩種情況true/false。
2.通常用在循環和條件語句中。
如:
七、數據類型轉換
(一)小類型轉換爲大類型
1.小類型向大類型轉換會自動完成,不需要編寫額外的代碼。自動類型轉換也稱爲隱式類型轉換。
2.自動類型轉換包括:byte->short->int->long->float->double
char和int類型在某些特殊情況下也能自動相互轉化。
3.小類型的精度高於大類型時,會出現精度丟失的現象。
4.例:int類型轉換爲float類型
int類型:32位,其中1位符號位,尾數31位(精度);
float類型:32位,1位符號位,8位指數,23位尾數(表示精度)。
(二)大類型向小類型轉換
1.也叫強制類型轉換,顯示轉換。
byte a = 5;
byte b = (byte)a+10;//將計算結果(int類型)強制類型轉換爲byte類型。
b = 5+10;//無需類型轉換,Java對於可直接得出結果的計算結果直接保存在變量b 中,不會出錯。
(三)int類型和char類型的轉換
1.java處理char類型時在底層是按int類型來處理的。
1.字符類型的數據可進行數值計算。