Java如何完成數據類型轉換

在寫程序的時候經常遇到數據的運算,在數據運算中又經常遇到不同類型的數據之間進行轉換,Java 如何完成數據類型轉換?下面就一起來了解看看吧!

Java如何完成數據類型轉換

  Java數據類型轉換分爲兩種:

1、自動類型提升;

2、強制類型轉換;

  先來說說第一種,自動類型提升。

發生條件:

兩種不同的基本數據類型之間進行算術運算,一個操作數的數據類型會自行提升到與另操作數的`數據類型;

比如:a + b;

a是double型,b是int型,那麼上面的表達式結果是一個什麼類型呢?

先來看看不同數據類型計算自動提升的規則:

如果a或者b有一個爲double,則另一個也轉換爲double,如果不滿足則進行如下判斷;

如果a或者b有一個爲float,則另一個也轉換爲float,如果不滿足則進行如下判斷;

如果a或者b有一個爲long,則另一個也轉換爲long;

如果以上都不滿足則a和b都轉換爲int進行計算;

進行轉換的規則如下:

因爲不同數據類型所佔用的位數不同,所以在進行數據類型的轉換時可能會有數據丟失,上圖中實線表示無數據丟失,虛線爲有數據丟失。

  第二種、強制類型轉換;

自動類型提升是一種數據類型自動變爲另一種數據類型,強制類型轉換則是人爲的用進行數據類型改變。

強制類型轉換的語法格式是:

type2 變量2 =(type1)變量1;

上面的小括號就是強制類型轉換。

例如:

double a = 123.456;

int b = (int)a;

a的值爲123,強制類型轉換是把小數部分抹去,把整數部分賦值給目標變量。

注意:在進行數據類型強制轉換的時候,如果目標數據類型無法容納轉換後的值那麼就會出錯。比如:(byte)300,結果絕對不是你想要的,所以要避免這種強制類型轉換。