標籤:
java基礎資料型別 (Elementary Data Type)八中
byte = Byteshort = Shortchar = Characterint = Integerlong = Longfloat = Floatdouble = Doubleboolean = Boolean
本文通過幾個簡單的轉換關係串連順序
運行一個執行個體查看輸出結果
byte b = ‘a‘; short s = ‘a‘; char c = ‘a‘; int i = 5; long l = 5l; float f = 5.5f; double d = 5.5; boolean bo = true; System.out.println(b); System.out.println(s); System.out.println(c); System.out.println(i); System.out.println(l); System.out.println(f); System.out.println(d); System.out.println(bo);
輸出
9797a555.55.5true
可以看出byte和short會將字元轉換成ac碼輸出。關於char本質上char類型是int的一個子集
下面通過一個一個的比較轉化來理解大小問題
首先嘗試使用byte轉化成其他類型
可以看出byte不能轉化成其他類型,也正可以看出byte為最小儲存單元
繼續看short
從其中可以看出short可以接收byte進行直接轉換
int
long
float
double
boolean(本身只有true/false兩個值,所以其他類型都不能轉換)
char(char的特殊性使得char不能使用其他的轉換)
其中可以看出區別
1.除了char外的其他類型都能從小到大的轉換,查看期源碼原來都繼承、實現了如下方式
? extends Number implements Comparable<?>
都繼承了Number類。也就是都為數字型
2.char有別去其他資料類型的原因也處於這裡
public finalclass Character implements java.io.Serializable, Comparable<Character>
使用Unicode字元集表示字元,Unicode是完全國際化的字元集,可以表示全部人類語言中的字元。Unicode需要16位寬,所以Java中的char類型也使用16 bit表示。 賦值可能是這樣的:
char ch1 = 88;char ch2 = ‘A‘;
ASCII字元集佔用了Unicode的前127個值。之所以把char歸入整型,是因為Java為char提供算術運算支援,例如可以ch2++;之後ch2就變成Y。當char進行加減乘除運算的時候,也被轉換成int類型,必須顯式轉化回來。
Java基礎-基礎資料型別 (Elementary Data Type)轉換案例