標籤:[] strong bool 浮點數 變數 long 不同的 類型 不同類
自動類型轉換
:
整型、實型(常量)、字元型資料可以混合運算。運算中,不同類型的資料先轉化為同一類型,然後進行運算。
轉換從低級到進階。
低 ------------------------------------> 高
byte,short,char—> int —> long—> float —> double
資料類型轉換必須滿足如下規則:
1. 不能對boolean類型進行類型轉換。
2. 不能把物件類型轉換成不相關類的對象。
3. 在把容量大的類型轉換為容量小的類型時必須使用強制類型轉換。
4. 轉換過程中可能導致溢出或損失精度,例如:
int i =128;
byte b = (byte)i;
因為byte類型時8位,最大值為127,所以當強制轉換為int類型值128時候就會導致溢出。
5. 浮點數到整數的轉換是通過捨棄小數得到,而不是四捨五入,例如:
(int)23.7 == 23;
(int)-45.89f == -45
自動類型轉換
:
必須滿足轉換前的資料類型的位元要低於轉換後的資料類型,例如: short資料類型的位元為16位,就可以自動轉換位元為32的int類型,同樣float資料類型的位元為32,可以自動轉換為64位的double類型。
執行個體
public class ZiDongLeiZhuan{
public static void main(String[] args){
char c1=‘a‘;//定義一個char類型
int i1 = c1;//char自動類型轉換為int
System.out.println("char自動類型轉換為int後的值等於"+i1);
char c2 = ‘A‘;//定義一個char類型
int i2 = c2+1;//char 類型和 int 類型計算
System.out.println("char類型和int計算後的值等於"+i2);
}
}
運行結果為:
char自動類型轉換為int後的值等於97
char類型和int計算後的值等於66
強制類型轉換
1. 條件是轉換的資料類型必須是相容的。
2. 格式:(type)value type是要強制類型轉換後的資料類型 執行個體:
執行個體
public class QiangZhiZhuanHuan{
public static void main(String[] args){
int i1 = 123;
byte b = (byte)i1;//強制類型轉換為byte
System.out.println("int強制類型轉換為byte後的值等於"+b);
}
}
運行結果:
int強制類型轉換為byte後的值等於123
隱含強制類型轉換
1. 整數的預設類型是 int。
2. 浮點型不存在這種情況,因為在定義 float 類型時必須在數字後面跟上 F 或者 f。
這一節講解了 Java 的基礎資料型別 (Elementary Data Type)。下一節將探討不同的變數類型以及它們的用法。
Java 資料類型轉換