Java數據類型 及 轉換原則


一、數據類型分類:主要分為 基本類型、引用類型兩大類;

 

二、基本類型 轉換原則 

1、類型轉換主要在在 賦值、方法調用、算術運算 三種情況下發生。
  a、賦值和方法調用 轉換規則:從低位類型到高位類型自動轉換;從高位類型到低位類型需要強制類型轉換:
  (1)布爾型和其它基本數據類型之間不能相互轉換; 
  (2)byte型可以轉換為short、int、、long、float和double; 
  (3)short可轉換為int、long、float和double; 
  (4)char可轉換為int、long、float和double; 
  (5)int可轉換為long、float和double; 
  (6)long可轉換為float和double; 
  (7)float可轉換為double; 

   另外還有是直接數的賦值:先通過直接數判斷其類型,然后基本原則和上面談到的賦值原則基本一致;只是直接數是整數時特殊一點,當在可表示范圍內時,可以直接賦值給 byte short char三種類型;

  

 

 
b、算術運算 中的類型轉換:1 基本就是先轉換為高位數據類型,再參加運算,結果也是最高位的數據類型;2 byte short char運算會轉換為Int;

(1)如操作數之一為double,則另一個操作數先被轉化為double,再參與算術運算。 

(2)如兩操作數均不為double,當操作數之一為float,則另一操作數先被轉換為float,再參與運算。 

(3)如兩操作數均不為double或float,當操作數之一為long,、則另一操作數先被轉換為long,再參與算術運算。 

(4)如兩操作數均不為double、float或long,則兩操作數先被轉換為int,再參與運算。

特殊: 

(1)如采用+=、*=等縮略形式的運算符,系統會自動強制將運算結果轉換為目標變量的類型。

  (2)  當運算符為自動遞增運算符(++)或自動遞減運算符(--)時,如果操作數為byte,short或char類型不發生改變;

 

三、引用類型 轉換原則

  1、基本類型 與 對應包裝類 可自動轉換,這是自動裝箱和折箱的原理;    

        Integer c1 = new Integer(1);
        Integer c2 = 2;
        int cc = new Integer(3);

        //另:String 與 基本類型的互轉
        int i = Integer.parseInt("13");
        int ii = Integer.valueOf("12");

        String s1 = String.valueOf(123);
        String s2 = Integer.toString(i);
        String s3 = "" + i;

  2、兩個引用類型間轉換:

    1、子類能直接轉換為父類 或 接口類型;

    2、父類轉換為子類要 強制類型轉換;且在運行時若實際不是對應的對象,會拋出ClassCastException運行時異常;

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM