- 相關(guān)推薦
Java如何完成數(shù)據(jù)類型轉(zhuǎn)換
在寫程序的時候經(jīng)常遇到數(shù)據(jù)的運算,在數(shù)據(jù)運算中又經(jīng)常遇到不同類型的數(shù)據(jù)之間進行轉(zhuǎn)換,Java 如何完成數(shù)據(jù)類型轉(zhuǎn)換?下面就一起來了解看看吧!
Java數(shù)據(jù)類型轉(zhuǎn)換分為兩種:
1、自動類型提升;
2、強制類型轉(zhuǎn)換;
先來說說第一種,自動類型提升。
發(fā)生條件:
兩種不同的基本數(shù)據(jù)類型之間進行算術(shù)運算,一個操作數(shù)的數(shù)據(jù)類型會自行提升到與另操作數(shù)的數(shù)據(jù)類型;
比如:a + b;
a是double型,b是int型,那么上面的表達式結(jié)果是一個什么類型呢?
先來看看不同數(shù)據(jù)類型計算自動提升的規(guī)則:
如果a或者b有一個為double,則另一個也轉(zhuǎn)換為double,如果不滿足則進行如下判斷;
如果a或者b有一個為float,則另一個也轉(zhuǎn)換為float,如果不滿足則進行如下判斷;
如果a或者b有一個為long,則另一個也轉(zhuǎn)換為long;
如果以上都不滿足則a和b都轉(zhuǎn)換為int進行計算;
進行轉(zhuǎn)換的規(guī)則如下:
因為不同數(shù)據(jù)類型所占用的位數(shù)不同,所以在進行數(shù)據(jù)類型的轉(zhuǎn)換時可能會有數(shù)據(jù)丟失,上圖中實線表示無數(shù)據(jù)丟失,虛線為有數(shù)據(jù)丟失。
第二種、強制類型轉(zhuǎn)換;
自動類型提升是一種數(shù)據(jù)類型自動變?yōu)榱硪环N數(shù)據(jù)類型,強制類型轉(zhuǎn)換則是人為的用進行數(shù)據(jù)類型改變。
強制類型轉(zhuǎn)換的語法格式是:
type2 變量2 =(type1)變量1;
上面的小括號就是強制類型轉(zhuǎn)換。
例如:
double a = 123.456;
int b = (int)a;
a的值為123,強制類型轉(zhuǎn)換是把小數(shù)部分抹去,把整數(shù)部分賦值給目標變量。
注意:在進行數(shù)據(jù)類型強制轉(zhuǎn)換的時候,如果目標數(shù)據(jù)類型無法容納轉(zhuǎn)換后的值那么就會出錯。比如:(byte)300,結(jié)果絕對不是你想要的,所以要避免這種強制類型轉(zhuǎn)換。
【Java如何完成數(shù)據(jù)類型轉(zhuǎn)換】相關(guān)文章:
Java數(shù)據(jù)類型轉(zhuǎn)換08-04
java的數(shù)據(jù)類型09-30
Java數(shù)據(jù)類型09-19
C語言數(shù)據(jù)類型轉(zhuǎn)換09-06
php數(shù)據(jù)類型轉(zhuǎn)換詳解10-12
java的數(shù)據(jù)類型說明08-28
Java語言的數(shù)據(jù)類型10-27
Java數(shù)據(jù)類型解說08-08