天天看點

Java基礎之011-Java基本資料類型及其包裝類

Java基礎之011-Java基本資料類型及其包裝類

                                                                          老帥

1、Java有8種基本資料類型

類型

包裝類

位數

最小值

最大值

byte

java.lang.Byte

8

Byte.MIN_VALUE=-128

Byte.MAX_VALUE=127

short

java.lang.Short

16

Short.MIN_VALUE=-32768

Short.MAX_VALUE=32767

int

java.lang.Integer

32

Integer.MIN_VALUE=-2147483648

Integer.MAX_VALUE=2147483647

long

java.lang.Long

64

Long.MIN_VALUE=-9223372036854775808

Long.MAX_VALUE=9223372036854775807

float

java.lang.Float

Float.MIN_VALUE=1.4E-45

Float.MAX_VALUE=3.4028235E38

double

java.lang.Double

Double.MIN_VALUE=4.9E-324

Double.MAX_VALUE=1.7976931348623157E308

char

java.lang.Character

Character.MIN_VALUE=0

Character.MAX_VALUE=65535

boolean

java.lang.Boolean

1

2、幾點要注意的

1)      char:char屬于字元類型,在存儲的時候用2個位元組來存儲,因為Java本身的字元集不是用ASCII碼來進行存儲,是使用的16位Unicode字元集,它的字元範圍即是Unicode的字元範圍,在變量初始化的時候,char類型的預設值為'u0000'

2)      當整數類型的資料使用字面量指派的時候,預設值為int類型,就是直接使用0或者其他數字的時候,值的類型為int類型,是以當使用long a = 0這種指派方式的時候,JVM内部存在資料轉換。

通過字面量給long類型變量指派:long a = 0L

3)      當實數類型的資料使用字面量指派的時候,預設值為double類型,就是直接使用0.1或者其他實數的時候,值的類型為double類型,JVM會使用double類型的資料類型。

通過字面量給float類型變量指派:float b = 0.1

3、包裝類

    為了友善操作基本資料類型值,将其封裝成了對象,在對象中定義了屬性和行為豐富了該資料的操作。用于描述該對象的類就稱為基本資料類型對象包裝類。

    3.1該包裝對象主要用基本類型和字元串之間的轉換。

          A.      基本類型--->字元串

             a)      基本類型數值+""

             b)      用String類中的靜态方法valueOf(基本類型數值);

             c)      用Integer的靜态方法toString(基本類型數值);          

          B.      字元串--->基本類型

             a)      使用包裝類中的靜态方法  

                    Integer i= Integer(“123”); 

             b)      使用paraseXXX方法

                    intparseInt("intstring");

                    longparseLong("longstring");

                    booleanparseBoolean("booleanstring");

                    隻有Character沒有parse方法

             c)      如果字元串被Integer進行對象的封裝。

               Integer i= Integer(“123”);

                    可使用另一個非靜态的方法,i.intValue();

                           将一個Integer對象轉成基本資料類型值。

    3.2 整數具備不同的進制展現。         

          A.      十進制-->其他進制。

                     toBinaryString

                     toOctalString

                     toHexString            

          B.      其他進制-->十進制。

                     parseInt("string",radix)

3.3 自動裝箱與拆箱

        裝箱:把基本類型用它們相應的引用類型包裝起來,使其具有對象的性質

        拆箱:和裝箱相反,将引用類型的對象簡化成值類型的資料

        JDK1.5以後,簡化了定義方式。

        Integerx = new Integer(4);可以直接寫成

        Integerx = 4;//自動裝箱。編譯器調用的是static Integer valueOf(int i)。

        x  = x + 5; //自動拆箱。編譯器調用的是int intValue(int i)。

    需要注意:

        在使用時,Integer  x = null;上面的代碼就會出現NullPointerException。