深入了解Java核心类库--BigDecimal和System类

深入了解Java核心类库--BigDecimal和System类

BigDecimal 类

一、 概述

  • Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。
  • 开发中,如果我们需要精确计算的结果,则必须使用BigDecimal类来操作。
  • BigDecimal所创建的是对象,故我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。构造器是类的特殊方法,专门用来创建对象,特别是带有参数的对象。

常用字段

FieldsModifier and Type Field Description
static BigDecimal ONE 值1,标度为0
static BigDecimal TEN 值10,标度为0
static BigDecimal ZERO 值0,标度为0

常用构造方法

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转换为 double
float floatValue() 将 BigDecimal转换为 float
int intValue() 将 BigDecimal成 int
long longValue() 将 BigDecimal转换为 long
String toString() 将BigDecimal对象的数值转换成字符串
BigDecimal abs() 返回绝对值
int compareTo​(BigDecimal) 比较大小,小返回-1
BigDecimal max​(BigDecimal) 返回较大的值
BigDecimal min​(BigDecimal) 返回较小的值
BigDecimal movePointLeft​(int n) 返回小数点向左移动n位的值
BigDecimal movePointRight​(int n) 返回小数点向右移动n位的值
BigDecimal multiply​(BigDecimal multiplicand) 返回这个值的相反数
BigDecimal pow​(int n) 返回this^n
BigDecimal setScale​(int n) 确定小数点后的位数n
static BigDecimal valueOf​(long/double) 值转换为 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)

将指定源数组中的数组从指定位置开始复制到目标数组的指定位置

Object src:源数组

int srcPos:开始位置

Object dest:目标数组

int destPos:目标数组起始位置

int length:传的长度

System.currentTimeMillis();

返回毫秒数

gc()

运行垃圾收集器

exit(int status)

  • 终止当前正在运行的java虚拟机。

int status是状态码。根据惯例,非0的状态码表示异常终止,0表是终止,并且该方法永远不会正常返回。

  • exit是唯一能够退出程序并不执行finally的情况。

退出虚拟机会直接终止整个程序,这时的程序已经不是从代码的层面来终止程序,所以finally不会被执行。

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注云海天教程的更多内容!