BigInteger類,BigeDecimal類,Arrays類,包裝類

一.BigInteger類

概念

操作整數
       我們都知道4類8種中整數最大的類型是:long
       我們以後遇到的數字,有可能會超過long的取值範圍,long就接收不了這麼大的數。那麼這個類就起到了作用。太大的數,在java中,就不能稱之爲數,叫對象。

BigInteger類:

構造

       BigInteger(String val):將十進制的字符串形式,變成BigInteger對象(字符串要符合數字規則 “123456789”)。

方法

  • BigInteger add(BigInteger val) —>和另外一個BigInteger 做加法
  • BigInteger subtract(BigInteger val) —>和另外一個BigInteger 做減法
  • BigInteger multiply(BigInteger val) —>和另外一個BigInteger 做乘法
  • BigInteger divide(BigInteger val) —>和另外一個BigInteger 做除法

二.BigDecimal類

概念

操作小數。

BigDecimal類:

構造:

       BigDecimal(String val):將十進制的字符串形式,變成BigInteger對象(字符串要符合小數的規則 “10.24”)。

方法:

  • BigDecimal add(BigDecimal val) —>和另外一個BigDecimal 做加法
  • BigDecimal subtract(BigDecimal val) —>和另外一個BigDecimal做減法
  • BigDecimal multiply(BigDecimal val) —>和另外一個BigDecimal做乘法
  • BigDecimal divide(BigDecimal val) —>和另外一個BigDecimal做除法

注意:

       BigDecimal如果除不盡會報錯! 還有可能出現精度損失!!!

解決:

       BigDecimal divide(BigDecimal divisor,int scale,int roundingMode);

參數

  • divisor:BigDicimal對象
  • scale:保留小數的位數
  • roundingMode:保留小數的方式

保留小數的方式 :BigDecimal 類提供了靜態的成員變量來控制舍入方式:
       static int ROUND_UP:向前進1
       static int ROUND_DOWN:直接捨去
       static int POUND_HALF_UP:四捨五入

來個小案例

有以下double數組: double[] arr = {0.1,0.2,2.1,3.2,5.56,7.21};
請編程計算它們的總值及平均值(四捨五入保留小數點後2位)?

public static void main(String[] args) {
        double[] arr = {0.1,0.2,2.1,3.2,5.56,7.21};

        //創建BigDecimal對象用來存總和
        BigDecimal num = new BigDecimal(0);

        //遍歷數組
        for (double a:arr
             ) {
            //創建BigDecimal,將數組中每一個值添加進去用於計算和
            BigDecimal bd = new BigDecimal(a);

            //累加到num
            num = num.add(bd);
        }

        //和 除 數組長度
        BigDecimal divide = num.divide(new BigDecimal(arr.length), 2, BigDecimal.ROUND_HALF_UP);

        System.out.println("和:"+num);
        System.out.println("平均值:"+divide);

    }

三.Arrays類

java.util

概念

       操作數組的工具類

特點

  • 方法都是靜態的,直接類名調用即可。
  • 構造方法被私有,不能new對象

方法

  • static String toString(int[] a) -->返回指定數組內容的字符串表示形式([0, 0, 0, 0, 0]);
  • static void sort(int[] a) -->排序 升序

四.包裝類

基本數據類型 引用數據類型
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

拆箱和裝箱(自動)

  • 裝箱:將基本數據類型轉成引用數據類型(包裝類)
  • 拆箱:把引用數據類型(包裝類)轉成基本數據類型

下面方法吃飽了撐的瞭解有這個東西就行!
手動裝箱(int 舉例)
構造:
       Integer(int i ) -->將int型轉成Integer對象
       Integer(String s ) -->將 符合數字規則的字符串 轉成Integer對象。
方法:
       static valueof(int i ) 直接Integer.調用
       static valueof(String s)

手動拆箱(int 舉例)
方法:
       intValue();

任何類型遇到字符串都會變成字符串

基本數據類型和字符串之間的轉換

基本數據類型轉String
        1. 基本數據類型和字符串拼接
        2. 通過String類中的靜態方法
              static String valueOf(int i);

將String轉成基本數據類型
       1.static double parseDouble(String s)
       2.static boolean parseBoolean(String s)其他以此類推…


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章