Java基礎:基本類型


1、基本類型

    Java中有8種基本類型,分為4類,分別為:

    整型:包括  byte 、 short、 int 、 long

    泛型:float、double

    字符型:char

 布爾型:boolean

 

2、基本類型長度及默認值

   

名稱

長度(字節)

默認值

取值范圍

byte

1

0

-128~ 127

short

2

0

-32768 ~ 32767

int

4

0

-2147483648~2147483647

long

8

0

-9223372036854774808~9223372036854774807

float

4

0.0

3.402823e+38~1.401298e-45(e+38 表示乘以10的38次方,而e-45 表示乘以10的負45次方)

double

8

0.0

1.797693e+308~4.9000000e-324

char

2

\u000

 

boolean

官方沒有明確定義長度

flase

true  false

 

   

3、包裝類型

 

基本類型

包裝類型

byte

Byte

short

Short

int

Integer

long

Long

float

Float

double

Double

char

Character

boolean

Boolean

 

4、拆箱裝箱

    拆箱,即,把基包裝類型轉換為基本類型

    裝箱,即,基本類型轉換為對應的包裝類型。

    如:Integer no = 1;  //自動裝箱

 Integer no2 = new Integer(2); //裝箱

 

 自動裝箱的實際操作對應  Integer.valueOf(1);

 在java文件生成class文件過程中會自動修改為Integer.valueOf(1),可以通過反編譯工具查看。

 

5、注意事項

    1)包裝類型的比較不要使用==

       如  Integer no1=10;Integer no2 =10;  no1==no2;返回結果為true

           Integer no1=200;Integer no2 =200;  no1==no2;返回結果為false

   Byte、Short、Integer、Long、Character的定義中都有一個緩存機制,-128~127對應的對象會緩存到緩存中,調用valueOf()方法時,會先判斷數據是否在這個范圍內,如果在范圍內,返回緩存對象,如果超出范圍,新建一個對象返回。

   所以在這個范圍內的數值,用==比較會返回true。否則會引起一些間歇性的bug,很難定位。

    2)java中的基本類型長度不會改變,在c、c++和c#中基本類型的長度會根據編輯器的位數變化,在java中不會變化。

 3)boolean官方沒有規定長度,實際的占用空間長度和虛擬機有關系。

 4)基本類型在虛擬機中是存儲在棧中。

 

    更多內容可以關注 公眾號  MG驛站

                                                


免責聲明!

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



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