深入了解Java核心類庫--BigDecimal和System類
BigDecimal 類
一、 概述
- Java在java.math包中提供的API類BigDecimal,用來對超過16位有效位的數(shù)進(jìn)行精確的運(yùn)算。
- 開發(fā)中,如果我們需要精確計(jì)算的結(jié)果,則必須使用BigDecimal類來操作。
- BigDecimal所創(chuàng)建的是對象,故我們不能使用傳統(tǒng)的+、-、*、/等算術(shù)運(yùn)算符直接對其對象進(jìn)行數(shù)學(xué)運(yùn)算,而必須調(diào)用其相對應(yīng)的方法。方法中的參數(shù)也必須是BigDecimal的對象。構(gòu)造器是類的特殊方法,專門用來創(chuàng)建對象,特別是帶有參數(shù)的對象。
常用字段
| FieldsModifier and Type | Field | Description |
|---|---|---|
| static BigDecimal | ONE | 值1,標(biāo)度為0 |
| static BigDecimal | TEN | 值10,標(biāo)度為0 |
| static BigDecimal | ZERO | 值0,標(biāo)度為0 |
常用構(gòu)造方法
| Constructor | Description |
|---|---|
| 常用 | |
| BigDecimal(int) | int→BigDecimal |
| BigDecimal(long) | long→BigDecimal |
| 少用 | |
| BigDecimal(double) | double → BigDecimal |
| BigDecimal(String) | BigDecimal的字符串→ BigDecimal |
常用方法
| Modifier and Type | Method | Description |
|---|---|---|
| BigDecimal | add(BigDecimal) | BigDecimal對象中的值相加,返回這個(gè)對象 |
| BigDecimal | subtract(BigDecimal subtrahend) 對象中的值相減,返回這個(gè)對象 | |
| BigDecimal | multiply(BigDecimal) | BigDecimal對象中的值相乘,返回這個(gè)對象 |
| BigDecimal | divide(BigDecimal) | BigDecimal對象中的值相除,返回這個(gè)對象 |
| double | doubleValue() | 將 BigDecimal轉(zhuǎn)換為 double |
| float | floatValue() | 將 BigDecimal轉(zhuǎn)換為 float |
| int | intValue() | 將 BigDecimal成 int |
| long | longValue() | 將 BigDecimal轉(zhuǎn)換為 long |
| String | toString() | 將BigDecimal對象的數(shù)值轉(zhuǎn)換成字符串 |
| BigDecimal | abs() | 返回絕對值 |
| int | compareTo(BigDecimal) | 比較大小,小返回-1 |
| BigDecimal | max(BigDecimal) | 返回較大的值 |
| BigDecimal | min(BigDecimal) | 返回較小的值 |
| BigDecimal | movePointLeft(int n) | 返回小數(shù)點(diǎn)向左移動(dòng)n位的值 |
| BigDecimal | movePointRight(int n) | 返回小數(shù)點(diǎn)向右移動(dòng)n位的值 |
| BigDecimal | multiply(BigDecimal multiplicand) | 返回這個(gè)值的相反數(shù) |
| BigDecimal | pow(int n) | 返回this^n |
| BigDecimal | setScale(int n) | 確定小數(shù)點(diǎn)后的位數(shù)n |
| static BigDecimal | valueOf(long/double) | 值轉(zhuǎn)換為 BigDecimal |
System類
三個(gè)成員變量
system中包含了三個(gè)成員變量:
in
標(biāo)準(zhǔn)輸入流(鍵盤輸入)out
標(biāo)準(zhǔn)輸出流(顯示器)err
標(biāo)準(zhǔn)錯(cuò)誤輸出流(顯示器)
| Modifier and Type | Field | Description |
|---|---|---|
| static InputStream | in | “標(biāo)準(zhǔn)”輸入流(鍵盤輸入) |
| static PrintStream | out | “標(biāo)準(zhǔn)”輸出流(顯示器) |
| static PrintStream | err | “標(biāo)準(zhǔn)”錯(cuò)誤輸出流(顯示器) |
arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
將指定源數(shù)組中的數(shù)組從指定位置開始復(fù)制到目標(biāo)數(shù)組的指定位置
Object src:源數(shù)組
int srcPos:開始位置
Object dest:目標(biāo)數(shù)組
int destPos:目標(biāo)數(shù)組起始位置
int length:傳的長度
System.currentTimeMillis();
返回毫秒數(shù)
gc()
運(yùn)行垃圾收集器
exit(int status)
- 終止當(dāng)前正在運(yùn)行的java虛擬機(jī)。
int status是狀態(tài)碼。根據(jù)慣例,非0的狀態(tài)碼表示異常終止,0表是終止,并且該方法永遠(yuǎn)不會(huì)正常返回。
- exit是唯一能夠退出程序并不執(zhí)行finally的情況。
退出虛擬機(jī)會(huì)直接終止整個(gè)程序,這時(shí)的程序已經(jīng)不是從代碼的層面來終止程序,所以finally不會(huì)被執(zhí)行。
總結(jié)
本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Spring?Boot整合?NoSQL?數(shù)據(jù)庫?Redis詳解
這篇文章主要為大家介紹了Spring?Boot整合?NoSQL?數(shù)據(jù)庫?Redis詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09
Mybatis mapper標(biāo)簽中配置子標(biāo)簽package的坑及解決
這篇文章主要介紹了Mybatis mapper標(biāo)簽中配置子標(biāo)簽package的坑及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
從底層源碼深入分析Spring的IoC容器的實(shí)現(xiàn)原理
IoC容器負(fù)責(zé)管理對象的生命周期和依賴關(guān)系,大大簡化了應(yīng)用程序的開發(fā)和維,我們這篇文章將會(huì)從底層源碼的角度深入分析Spring的IoC容器實(shí)現(xiàn),探索它的工作原理和關(guān)鍵組件,需要的朋友可以參考下2023-07-07
在Java中將jsonObject轉(zhuǎn)換成對象的實(shí)現(xiàn)方法
在現(xiàn)代的Web開發(fā)中,JSON作為一種輕量級的數(shù)據(jù)交換格式,因其易讀性和易于解析的特點(diǎn)而被廣泛使用,本文將介紹如何在Java中將??jsonObject??轉(zhuǎn)換成Java對象,主要通過使用Gson庫來實(shí)現(xiàn)這一功能,需要的朋友可以參考下2025-04-04

