1. 程式人生 > 其它 >Java之數字處理類淺析

Java之數字處理類淺析

包裝類:

資料型別相對的包裝類: byte---Byte short---Short int---Integer long---Long

float---Float double---Double

boolean---Boolean

char---Character

為什麼要有包裝型別?

包裝類把基本型別資料轉換為物件 :是因為Java是一個面向物件的語言,基本型別並不具有物件的性質,為了與其他物件“接軌”就出現了包裝型別(如我們在使用集合型別Collection時就一定要使用包裝型別而非基本型別),它相當於將基本型別“包裝起來”,使得它具有了物件的性質,並且為其添加了屬性和方法,豐富了基本型別的操作。

包裝類的作用:1.提供了一系列實用的方法

       2.集合不允許存放基本資料型別資料,存放數字時,要用包裝型別

Integer類為例子介紹包裝類的實際使用:

  1、實現int和Integer類之間的轉換

                   //在實際轉換時,使用Integer類的構造方法和Integer類內部的intValue方法實現這些型別之間的相互轉換,實現的程式碼如下:
                   int n = 10;
                   Integer in = new Integer(100);
                   //將int型別轉換為Integer型別
                   Integer in1 = new Integer(n);
                   //將Integer型別的物件轉換為int型別
                   int m = in.intValue();    

 2.Integer類內部的常用方法

parseInt方法:將數字字串轉換為int數值。

String s = “123”;
int n = Integer.parseInt(s);

public static int parseInt(String s, int radix):將字串按照引數radix指定的進位制轉換為int。

//將字串”120”按照十進位制轉換為int,則結果為120
int n = Integer.parseInt(“120”,10);
//將字串”12”按照十六進位制轉換為int,則結果為18
int n = Integer.parseInt(“12”,16);
//將字串”ff”按照十六進位制轉換為int,則結果為255
int n = Integer.parseInt(“ff”,16);

toString方法:將int型別轉換為對應的String型別

 int m = 1000;
 String s = Integer.toString(m);
// 則字串s的值是”1000”。

public static int parseInt(String s, int radix):將int值轉換為特定進位制的字串

        int m = 20;
        String s = Integer.toString(m,2);
        System.out.println(s);
        //將20z轉換為二進位制的結果是10100    

JDK自從1.5(版本以後,就引入了自動拆裝箱的語法,也就是在進行基本資料型別和對應的包裝類轉換時,系統將自動進行。

        int m = 12;
        Integer in = m;
        //Integer型別會自動轉換為int型別
        int n = in;
            //數字處理類
            //每種資料型別的最大最小值
            System.out.println(Integer.MIN_VALUE);
            System.out.println(Integer.MAX_VALUE);
            System.out.println(Byte.MIN_VALUE);
            System.out.println(Byte.MAX_VALUE);
            System.out.println(Long.MIN_VALUE);
            System.out.println(Long.MAX_VALUE);
            System.out.println(Short.MIN_VALUE);
            System.out.println(Short.MAX_VALUE);

            System.out.println(Float.MIN_VALUE);
            System.out.println(Float.MAX_VALUE);
            System.out.println(Double.MIN_VALUE);
            System.out.println(Double.MAX_VALUE);

對於包裝類說,這些類的用途主要包含兩種:

                   a、作為和基本資料型別對應的類型別存在,方便涉及到物件的操作。

                   b、包含每種基本資料型別的相關屬性如最大值、最小值等,以及相關的操作方法。

包裝型別與基本型別異同

1.宣告方式不同,基本型別不適用new關鍵字,而包裝型別需要使用new關鍵字來在堆中分配儲存空間;

2.儲存方式及位置不同,基本型別是直接將變數值儲存在堆疊中,而包裝型別是將物件放在堆中,然後通過引用來使用;

3.初始值不同,基本型別的初始值如int為0,boolean為false,而包裝型別的初始值為null

4.使用方式不同,基本型別直接賦值直接使用就好,而包裝型別在集合如Collection、Map時會使用到

其他:

宣告一個數組:

int ints[] = new int[3];

new代表在記憶體中新開闢一塊區域