深入了解Java核心類庫--BigDecimal和System類
BigDecimal 類
一、 概述
- Java在java.math包中提供的API類BigDecimal,用來對超過16位有效位的數(shù)進行精確的運算。
- 開發(fā)中,如果我們需要精確計算的結(jié)果,則必須使用BigDecimal類來操作。
- BigDecimal所創(chuàng)建的是對象,故我們不能使用傳統(tǒng)的+、-、*、/等算術(shù)運算符直接對其對象進行數(shù)學運算,而必須調(diào)用其相對應的方法。方法中的參數(shù)也必須是BigDecimal的對象。構(gòu)造器是類的特殊方法,專門用來創(chuàng)建對象,特別是帶有參數(shù)的對象。
常用字段
| FieldsModifier and Type | Field | Description |
|---|---|---|
| static BigDecimal | ONE | 值1,標度為0 |
| static BigDecimal | TEN | 值10,標度為0 |
| static BigDecimal | ZERO | 值0,標度為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對象中的值相加,返回這個對象 |
| BigDecimal | subtract(BigDecimal subtrahend) 對象中的值相減,返回這個對象 | |
| BigDecimal | multiply(BigDecimal) | BigDecimal對象中的值相乘,返回這個對象 |
| BigDecimal | divide(BigDecimal) | BigDecimal對象中的值相除,返回這個對象 |
| 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ù)點向左移動n位的值 |
| BigDecimal | movePointRight(int n) | 返回小數(shù)點向右移動n位的值 |
| BigDecimal | multiply(BigDecimal multiplicand) | 返回這個值的相反數(shù) |
| BigDecimal | pow(int n) | 返回this^n |
| BigDecimal | setScale(int n) | 確定小數(shù)點后的位數(shù)n |
| static BigDecimal | valueOf(long/double) | 值轉(zhuǎn)換為 BigDecimal |
System類
三個成員變量
system中包含了三個成員變量:
in
標準輸入流(鍵盤輸入)out
標準輸出流(顯示器)err
標準錯誤輸出流(顯示器)
| Modifier and Type | Field | Description |
|---|---|---|
| static InputStream | in | “標準”輸入流(鍵盤輸入) |
| static PrintStream | out | “標準”輸出流(顯示器) |
| static PrintStream | err | “標準”錯誤輸出流(顯示器) |
arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
將指定源數(shù)組中的數(shù)組從指定位置開始復制到目標數(shù)組的指定位置
Object src:源數(shù)組
int srcPos:開始位置
Object dest:目標數(shù)組
int destPos:目標數(shù)組起始位置
int length:傳的長度
System.currentTimeMillis();
返回毫秒數(shù)
gc()
運行垃圾收集器
exit(int status)
- 終止當前正在運行的java虛擬機。
int status是狀態(tài)碼。根據(jù)慣例,非0的狀態(tài)碼表示異常終止,0表是終止,并且該方法永遠不會正常返回。
- exit是唯一能夠退出程序并不執(zhí)行finally的情況。
退出虛擬機會直接終止整個程序,這時的程序已經(jīng)不是從代碼的層面來終止程序,所以finally不會被執(zhí)行。
總結(jié)
本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
說說字符串轉(zhuǎn) OffSetDateTime 你真的會用嗎
這篇文章主要介紹了字符串轉(zhuǎn) OffSetDateTime 你真的會用嗎?具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08
Java util.List如何實現(xiàn)列表分段處理
這篇文章主要介紹了Java util.List如何實現(xiàn)列表分段處理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-09-09
Java代碼為例講解堆的性質(zhì)和基本操作以及排序方法
堆數(shù)據(jù)結(jié)構(gòu)可以看作一顆完全二叉樹,因而又被成為二叉堆,這里我們以Java代碼為例講解堆的性質(zhì)和基本操作以及排序方法,需要的朋友可以參考下2016-06-06
Spring-Cloud Eureka注冊中心實現(xiàn)高可用搭建
這篇文章主要介紹了Spring-Cloud Eureka注冊中心實現(xiàn)高可用搭建,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04

