java中的基本數據類型轉換

最近忙裏抽閒從lucene的開源代碼中提取一些基礎工具包,裏面涉及到大量的位運算和數據類型轉換問題,現就數據類型轉換作些總結。基本數據類型轉換一共就兩種類型,第一種向上轉型,第二種爲強制向下轉型。工具

一、向上轉型也叫自動提高,比較好理解就是寬的數據類型能夠兼容窄的數據類型:基礎

    byte -> short數據類型

    byte、short、char -> intfloat

    byte、short、char、int -> longlucene

    byte、short、char、int 、long -> float總結

    byte、short、char、int 、long、float -> double數據

注意:雖然byte的長度只有8個字節,可是不能自動提高爲char,緣由是char是個無符號整形值,short也是一樣的道理不能自動轉換爲char。兼容

在進行表達式計算時byte、short、char會自動提高爲int類型,在此基礎上若是有long型數值就自動提高爲long,有float型數值就自動提高爲float,有double型數值就自動提高爲double。類型轉換

二、向下轉型也叫強制轉換源代碼

    對於整形的強制轉換就是將高位截斷,而後按照補碼規則對數值進行表示。

    對於double強轉成float以及浮點型強轉成整形貌似複雜點,因爲工做中也沒遇到該狀況,因此之後再分析。

相關文章
相關標籤/搜索