深入了解Java核心类库--BigDecimal和System类
程序员文章站
2022-07-07 21:06:02
目录bigdecimal 类system类arraycopy(object src, int srcpos, object dest, int destpos, int length)b...
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不会被执行。
总结
本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注的更多内容!