天天看點

Java中常用的類(三):基本類型包裝類、System類、Math類、Arrays類、BigInteger類、BigDecimal類

​目錄​

​​一、基本類型包裝類​​

​​1、8 種基本類型對應的包裝類​​

​​2、基本類型和對象轉換​​

​​3、自動裝箱拆箱​​

​​二、System 類​​

​​三、Math 類​​

​​四、Arrays 類​​

​​五、BigInteger 類​​

​​六、BigDecimal 類​​

一、基本類型包裝類

在實際開發中,往往需要将資料轉換成字元串類型進行存儲,會根據需要轉換成指定的基本資料類型,是以,Java将基本資料類型值封裝成了對象,提供了更多的操作基本數值的功能,用于在基本資料類型和字元串之間進行轉換。

1、8 種基本類型對應的包裝類

基本資料類型 對應的包裝類
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
  •  将字元串轉換成基本資料類型:parseXXX(String s);其中XXX表示基本資料類型,s 參數為可以轉換成基本類型的字元串,如果字元串無法轉換成基本類型,将會發生數字轉換的問題:NumberFormatException
eg:System.out.println(Integer.parseInt("123") + 2);    //列印結果為125      

将基本類型轉換成字元串有3中方式

(1) 基本類型直接與“ ”相連接配接即可;eg:34 + “”

(2) 調用 String 的 valueOf 方法:String.valueOf(34);

(3) 調用包裝類中的 toString 方法:Integer.toString(34);

2、基本類型和對象轉換

  • 基本類型轉換成包裝對象(以 int 類型轉換integer 對象為例) ​

    ​​

Integer a = new Integer(2);    //構造一個新配置設定的Integer對象,表示指定的int值
Integer b = new Integer("2");    //構造一個新配置設定的Integer對象,表示String參數所指向的int值      
  • 包裝對象轉換成基本類型(以 int 類型轉換integer 對象為例)
int num = a.intValue();    //以int類型傳回該Integer的值      

3、自動裝箱拆箱

  • 自動拆箱:對象轉成基本數值
  • 自動裝箱:基本數值轉成對象
Integer i = 4;    //自動裝箱,相當于Integer i = Integer.valueOf(4);
i = i + 5;    //等号右邊:将i對象轉成基本數值(自動拆箱) i.intValue() + 5; 加法運算完成後,再次裝箱,把基本數值轉成對象。      
  • 自動裝箱細節示範 :當數值在 byte 範圍時,進行自動裝箱,不會建立對象空間而是使用已有的空間
//手動轉換
Integer a = new Integer(3);
Integer b = new Integer(3);
System.out.println(a == b);    //false,位址空間不同
System.out.println(a.equals(b));    //true
//自動裝箱
Integer c = 127;
Integer d = 127;
System.out.println(c == d);    //true,在byte範圍内自動裝箱使用已有空間
System.out.println(c.equals(d));    //true      

二、System 類

System 代表程式所在的系統,提供了對應的一些系統屬性消息和系統操作。System 類不能手動建立對象,因為構造方法被 private 修飾,組織外界建立對象。System 類中都是 static 方法,類名即可通路。

System 類中常用的方法:

  • currentTimeMillis():擷取目前系統時間與1970年01月01日00:00點之間的毫秒內插補點
  • exit(int status):用來結束正在運作的Java程式,通常傳入 0 參數記為正常狀态,其他為異常狀态
  • gc():用來運作 JVM 中的垃圾回收器,完成記憶體中垃圾的消除
  • getProperty(String key):用來擷取指定鍵(字元串名稱)中所記錄的系統屬性消息
  • arraycopy(Object src,int srcPos,Object dest,int desPos,int length):從指定源數組中複制一個數組,複制從指定的位置開始,到目标數組的指定位置結束

三、Math 類

Math 類是包含用于執行基本數學運算的方法的數學工具類,類似這樣的工具類,代表能夠完成一系列功能的類,在使用他們時,不用建立對象,該類中方法都為靜态方法。

Math 類中常用方法:

  • abs(double a):傳回 double 值的絕對值
  • ceil(double a):傳回結果為比參數值大的最小整數的 double 值
  • floor(double a):傳回結果比參數值小的最大整數的 double 值
  • max(double a,double b):傳回兩個參數中較大的值
  • min(double a,double b):傳回兩個參數中較小的值
  • pow(double a,double b):傳回第一個參數的第二個參數次幂的值
  • random():産生一個大于等于0.0且小于1.0的double小數
  • round(double a):傳回參數值四舍五入的結果

四、Arrays 類

Arrays 類包含用來操作數組的各種方法,如果指定數組引用為 null,則通路此類中的方法都會抛出空指針異常 NullPointerException。

Arrays 類中常用方法:

  • sort(int[] a):将數組元素按數字升序排序
  • toString(int[] a):用來傳回指定數組元素内容的字元串形式
  • binarySearch(int[] a):在有序數組中,查找給定元素出現的位置,沒有查到則傳回-1(使用的是二分搜尋法)

五、BigInteger 類

在Java中,long 型為最大的整數類型,如果超過了 long 型的資料,就會被封裝成 BigInteger 對象,在 BigInteger 類中,實作四則運算都是方法來實作的,并不是采用運算符。

BigInteger 類的使用:

public static void main(String[] args) {
    //大資料封裝為BigInteger對象
      BigInteger big1 = new BigInteger("12345678909876543210");
      BigInteger big2 = new BigInteger("98765432101234567890");
      //add實作加法運算
      BigInteger bigAdd = big1.add(big2);
      //subtract實作減法運算
      BigInteger bigSub = big1.subtract(big2);
      //multiply實作乘法運算
      BigInteger bigMul = big1.multiply(big2);
      //divide實作除法運算
      BigInteger bigDiv = big2.divide(big1);
}      

六、BigDecimal 類

在Java中,double 和 float 類型在運算中很容易丢失精度,造成資料的不準确性,可以使用 BigDecimal 類實作浮點資料的高精度運算

public static void main(String[] args) {
    //大資料封裝為BigDecimal對象
    BigDecimal big1 = new BigDecimal("0.09");
    BigDecimal big2 = new BigDecimal("0.01");
    //add實作加法運算
    BigDecimal bigAdd = big1.add(big2);

    BigDecimal big3 = new BigDecimal("1.0");
    BigDecimal big4 = new BigDecimal("0.32");
    //subtract實作減法運算
    BigDecimal bigSub = big3.subtract(big4);

    BigDecimal big5 = new BigDecimal("1.105");
    BigDecimal big6 = new BigDecimal("100");
    //multiply實作乘法運算
    BigDecimal bigMul = big5.multiply(big6);
}      

繼續閱讀