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