1.數(shù)據(jù)類型可以轉(zhuǎn)換,當左右兩邊數(shù)據(jù)類型不一樣的時候地消,將會發(fā)生數(shù)據(jù)類型轉(zhuǎn)換炉峰。
? ? 分為兩種。一種是自動類型轉(zhuǎn)換(隱式轉(zhuǎn)換)脉执,第二種是強制類型轉(zhuǎn)換(顯式轉(zhuǎn)換)疼阔。
隱式轉(zhuǎn)換:代碼不需要特別處理。
? ? ? ? ? ? ? ? ? ?數(shù)據(jù)范圍從小到大半夷,左邊的數(shù)據(jù)范圍總是要比右邊大竿开。
代碼:
public class DemoDataType {
public static void main(String[] args) {
long num1 =100;
? ? ? ? System.out.println(num1);
? ? ? ? double num2 =2.5f;
? ? ? ? System.out.println(num2);
? ? ? ? float num3 =30l;
? ? ? ? System.out.println(num3);
? ? }
}
顯式轉(zhuǎn)換:
? ? ? ? 范圍小的類型? ? 范圍小的數(shù)據(jù)? ? =? ? (范圍小的類型)原本范圍大的數(shù)據(jù)
? ? ? ? 代碼如下:
? ? ? ? int? ? num1? ? =? ? (int)? ? 100L;
? ? ? ? System.out.println(num1);
????????int num2=(int)6000000000L;
????????System.out.println(num2);? ? //產(chǎn)生數(shù)據(jù)溢出。int類型最大為1705032704? ??
????????int num3 = (int)3.5;
????????System.out.println(num3;? ? ? ? ? ? //舍棄小數(shù)部分玻熙。
????????char zifu1 ='A';
????????System.out.println(zifu1+1);? ? ? ? //字符'A’被當做int類型,數(shù)值為65疯攒。
數(shù)據(jù)類型轉(zhuǎn)換注意點:
? ? 1.一般不推薦強制轉(zhuǎn)換嗦随,因為會產(chǎn)生精度損失,數(shù)據(jù)溢出敬尺。
? ? 2.Byte/Short/Char? 在計算的時候枚尼,會優(yōu)先被提升為int類型再進行計算。
? ? 3. boolean類型不能發(fā)生數(shù)值轉(zhuǎn)換砂吞。
? ? 4.ASCII表:美國信息交換標準代碼
? ? ? ?Unicode表:萬國碼署恍。