Java中的數(shù)據(jù)類型轉(zhuǎn)換主要有強制類型轉(zhuǎn)換(也叫顯式類型轉(zhuǎn)換)和自動類型轉(zhuǎn)換(也叫隱式類型轉(zhuǎn)換)兩種。
強制類型轉(zhuǎn)換,是通過把一種數(shù)據(jù)類型的值轉(zhuǎn)換成另一種數(shù)據(jù)類型的值來實現(xiàn)。在進行強制類型轉(zhuǎn)換前,需要用括號將目標(biāo)數(shù)據(jù)類型括起來,然后將需要轉(zhuǎn)換的值放在括號內(nèi),如下示例:
double d = 3.14; // 定義一個double類型的變量d
int i = (int) d; // 將double類型的變量d強制轉(zhuǎn)換成整數(shù)類型,并賦值給變量i
需要注意的是,強制類型轉(zhuǎn)換可能會造成精度損失或溢出等問題,因此在進行強制類型轉(zhuǎn)換時,需要謹(jǐn)慎使用。
自動類型轉(zhuǎn)換,是指在程序中,一些低精度類型的值可以直接賦值給高精度類型的變量或表達式的特定位置,Java編譯器會自動將低精度類型轉(zhuǎn)換成高精度類型。如下示例:
int i = 10; // 定義一個int類型的變量i
double d = i; // 將int類型的變量i自動轉(zhuǎn)換成double類型,并賦值給變量d
在自動類型轉(zhuǎn)換時,Java編譯器會自動判斷需要轉(zhuǎn)換的數(shù)據(jù)類型,如果存在類型轉(zhuǎn)換的隱患,會給出編譯錯誤信息。
需要注意的是,自動類型轉(zhuǎn)換只能從低精度類型轉(zhuǎn)換成高精度類型,而不能反過來。