王傳福:比亞迪 DM-i 車型在手訂單 20 萬臺,預計明年底中國新能源車滲透率超過 35%
阿新 • • 發佈:2021-11-19
問題:
回答:
Java程式中要求參與的計算的資料,必須要保證資料型別的一致性,如果資料型別不一致將發生型別的轉換。
可以分為:自動轉換、強制轉換
Java中的自動轉換
特點:
1、系統自動完成的,不需要程式設計師手動修改程式碼
2、將取值範圍小的型別 自動提升為 取值範圍大的型別
具體例項
public static void main(String[] args) { int a = 1; byte b = 2; byte c = b + a; // 報錯 //int型別和byte型別運算,結果是int型別 int d = b + a; System.out.println(d); }
注意:
整數型別直接寫會預設為int
小數型別直接寫預設為double
型別的範圍大小:byte < short(char) < int < long < float < double
Java中的強制轉換
特點:
1、需要程式設計師手動修改程式碼
2、語法:
範圍小的型別 變數名 = (範圍小的型別)範圍大的型別的資料
3、從範圍小 到 範圍大(將取值範圍大的型別
強制轉換成取值範圍小的型別
。)
具體例項
例項1
int i = 1.5; // 錯誤
double
型別記憶體8個位元組,int
型別記憶體4個位元組。1.5
是double
型別,取值範圍大於int
。可以理解為double
是8升的水壺,int
是4升的水壺,不能把大水壺中的水直接放進小水壺去。
想要賦值成功,只有通過強制型別轉換,將double
型別強制轉換成int
型別才能賦值。
例項2
int型別和double型別運算,結果是double型別,int型別會提升為double型別
public static void main(String[] args) { int i = 1; double d = 2.5; double e = d+i; System.out.println(e); }
注意:
強制型別轉換可能會造成資料的丟失哦,小夥伴們在應用時一定要慎重哦!
Boolean型別不能發生強制型別轉換
byte \ short \ char 這三種資料型別發生數學運算時,會自動提升為int型別