Java的數據類型轉換

Java數據類型分爲三大類,即布爾型,字符型和數值型。其中,數值型有分爲整型和浮點型。相對於數據類型,Java的變量類型分爲布爾型boolean;字符型char;整型byte、short、int、long;浮點型float、double。其中四種整型變量和兩種浮點型變量分別對應於不同的精度和範圍。此外,編程時還經常用到兩種變量類型:String和Date。
(1) 數據類型轉換的種類
Java數據類型的轉換一般分爲三種:簡單數據類型之間的轉換、字符串與其他數據類型的轉換、其他實用數據類型的轉換。
(2)簡單數據類型轉換
Java中,整型、實型、字符型被稱爲簡單數據類型,這類類型由低級到高級分別爲(byte,short,char)——int——long——float——double。
簡單數據類型之間的轉換又可分爲:低級到高級自動類型轉換、高級到低級強制類型轉換、包裝類過渡類型轉換。
1)自動類型轉換:
低級變量可以直接轉換爲高級變量,這叫自動類型轉換。例如下面的語句可以直接通過:

        byte b;
        int i=b;
        long l=b;
        float f= b;
        double d = b;

如果低級類型爲char時,向高級轉換的時候會轉換爲對應的ASCII碼值。例如:

char c='c';
int i=c;
System.out.println(i);

輸出:99

對於byte、short、char三種類型,他們的級別是相同的,不能相互之間自動轉換,可以使用下述強制類型轉換:

short s = 99;
char c = (char)s;
System.out.println(c);

輸出:c
2)強制類型轉換
將高級變量轉換成低級變量,情況會複雜一些,需要強制類型轉換。如:

int i=99;byte b = (byte)i;char c = (char)i;

這種轉換可能存在隱患,導致溢出或者精度下降。
3)包裝類過渡類型轉換
Java的包裝類型對應於其基本類型一共有八類,分別爲:Boolean、Byte、Short、Character、Integer、Long、Float、Double。
在進行簡單數據轉換的時候,可以利用包裝類型進行中間過渡。例:

byte b = 99;
Byte B = new Byte(b);
System.out.println(B.shortValue());

事實上,java的包裝類型中,數值類型提供了除Character和Boolean之外的其他所有六種基本類型的轉換,因此通過包裝類型進行轉換亦是一種有效手段。

(3)字符串類型與其它數據類型的轉換
幾乎從java.lang.Object派生出來的所有類型都提供了toString()方法,即將該類轉化成爲字符串。對於上述八種過渡類型也不例外,用於將對應的基本類型轉換爲字符串。

(4) 將字符型直接作爲數值轉換爲其他數據類型。
將字符類型直接轉換爲其他類型實際上有兩種對應關係:一種是將其轉換成對應的ASCII碼值、一種是轉換關係,例如‘1’就是數值1,而不是ASCII碼值,對於這種轉換,可以使用Character的getNumericValue(char c)方法。

發佈了111 篇原創文章 · 獲贊 9 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章