Java 八種基本類型和基本類型封裝類


  1.首先,八種基本數據類型分別是:int、short、float、double、long、boolean、byte、char;

     它們的封裝類分別是:Integer、Short、Float、Double、Long、Boolean、Byte、Character。

 
數據類型  包 裝 類 字節長度 默 認 值
int Integer 4 0
short Short 2 0
long Long 8 0l或0L
byte Byte 1 0
float Float 4 0.0F或0.0f
double Double 8 0.0
char Character 2 u0000
boolean Boolean 1 false

  2.Java中的數值都是有符號的,不存在無符號的數,它們的取值范圍也是固定的,不會隨着硬件環境或者操作系統的改變而改變。

  3.原始數據類型在傳遞參數時都是按值傳遞,封裝類都是按引用傳遞。

  4.Java語言中,默認聲明的小數是double類型的,因此對float類型的變量進行初始化時需要進行類型轉換。

     float類型變量有兩種初始化方法:float f = 1.0f  或者 float f =(float) 1.0 。

  5."=="和"equals()"方法:

    1)基本型和基本型封裝型進行“==”運算符的比較,基本型封裝型將會自動拆箱變為基本型后再進行比較,因此Integer(0)會自動拆箱為int類型再進行比較,顯然返回true。

    2)兩個Integer類型進行“==”比較,如果其值在-128至127,那么返回true,否則返回false, 這跟Integer.valueOf()的緩沖對象有關,這里不進行贅述。

    3)兩個基本型的封裝型進行equals()比較,首先equals()會比較類型,如果類型相同,則繼續比較值,如果值也相同,返回true。

    4)基本型封裝類型調用equals(),但是參數是基本類型,這時候,先會進行自動裝箱,基本型轉換為其封裝類型,再進行3)中的比較。

     int i=0;
        Integer j=new Integer(0);
        System.out.println(i==j);
        System.out.println(j.equals(j));
        double d=0.5;
        Double b=new Double(0.5);
        System.out.println(d==b);
        System.out.println(b.equals(d));
        Integer aa=-100;
        Integer bb=-100;
        System.out.println(aa==bb);
        Integer aaa=129;
        Integer bbb=129;
        System.out.println(aaa==bbb);

 

    程序運行結果:

true
true
true
true
true
false

 

  6.不同數據類型之間的轉換規則:

    在Java中當參與運算的兩個變量的數據類型不同時,就需要進行隱式的數據類型轉換,轉換規則為:從低精度向高精度轉換,即優先級滿足byte<short<char<int<long<float

<double.反之,則需要通過強制類型轉換來完成。

 

常見的自動類型轉換的規則
   操作數1的類型    操作數2的類型     轉換后的類型
    int  

  byte,short,char

    int
    long

  byte,short,char,int

    long
    float

  byte,short,char,int,long

    float

    double

  byte,short,char,int,long,float     double

 

    l類型自動轉換時,需要注意的幾點:

      1)char數據類型轉換為高級類型時,會自動轉換為其對應的ASCII碼。

      2)byte, char, short 類型的數據在參與運算時會自動轉換為int類型,但當使用''+=" 運算符時就不會產生類型轉換,例如 short s1= 1; s1=(shot) (s1+1) 。short s2 = 1;s1+=1。

      3)基本數據類型不能與boolean類型相互轉換。

 

 

強制類型轉換的規則
  原操作數的類型     轉換后操作數的類型
  byte   char
  char   byte char
  short   byte char
  int   byte short char
  long   byte short char int
  float   byte short char int long
  double   byte short char int long double

    需要注意的是,在進行強制類型轉換時可能會損失精度。


免責聲明!

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



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