文章目錄
一.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)其他以此類推…