1. 程式人生 > 資訊 >蘋果 iPhone 13 系列在更多國家推出,包括韓國、泰國、馬來西亞等

蘋果 iPhone 13 系列在更多國家推出,包括韓國、泰國、馬來西亞等

型別轉換

精度從低到高

char,byte,short---->int--->long--->float--->double

運算中不同型別的資料先轉化為同一型別,然後再進行計算



強制轉換型別

精度:從高-->低

int i=128;
byte b = (byte) i;
System.out.println(i);//輸出結果:128
System.out.println(b);//輸出結果:-127 涉及到資料溢位

自動轉化型別

精度: 從低-->高

int a=10;
double c = a;
System.out.println(a);//輸出結果:10
System.out.println(c);//輸出結果:10.0


注意點

  1. 不能對布林值進行轉換;

  2. 不能把物件型別轉化為不相干的型別;

  3. 在把高容量轉化為低容量時,強制進行;

  4. 轉化時可能出現記憶體溢位問題.



補充

操作比較大的數字時,注意溢位問題;

JDK新特性,數字之間可以用下劃線分割。

int money=10_0000_0000;
int year=20;
int total=money*year;//資料溢位
long total2=money*year;//預設是int型別,轉換之前已經存在問題了?
long total3=money*((long) year);
System.out.println(total1);//輸出結果為:-1474836480,資料溢位
System.out.println(total2);//輸出結果為:-1474836480,資料溢位
System.out.println(total3);//輸出結果為:20000000000

如何解決,在相乘之前就對一個數據進行強制轉化.