1. 程式人生 > 資訊 >王傳福:比亞迪 DM-i 車型在手訂單 20 萬臺,預計明年底中國新能源車滲透率超過 35%

王傳福:比亞迪 DM-i 車型在手訂單 20 萬臺,預計明年底中國新能源車滲透率超過 35%

問題:

回答:

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.5double型別,取值範圍大於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型別