深入了解Java核心类库--BigDecimal和System类
作者:入错行的北北 发布时间:2023-12-18 01:50:28
标签:Java,System,BigDecima
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不会被执行。
来源:https://blog.csdn.net/m0_50609545/article/details/117897874


猜你喜欢
- 关于静态类型检查和动态类型检查的解释:静态类型检查:基于程序的源代码来验证类型安全的过程;动态类型检查:在程序运行期间验证类型安全的过程;J
- 前言最近一段时间看了一些介绍ViewDragHelper的博客,感觉这是一个处理手势滑动的神奇,看完以后就想做点东西练练手,于是就做了这个A
- 本文实例讲述了Java操作Mongodb数据库实现数据的增删查改功能。分享给大家供大家参考,具体如下:首先,我们在windows下安装mon
- 如下所示://读取json文件地址 /* String path = getClass().getClassLoader().g
- 委托给了C#操作函数的灵活性,我们可使用委托像操作变量一样来操作函数,其实这个功能并不是C#的首创,早在C++时代就有函数指针这一说法,而在
- 一. string的构造函数的形式:string str:生成空字符串string s(str):生成字符串为str的复制品string s
- Java Lambda 源码分析问题:Lambda 表达式是什么?JVM 内部究竟是如何实现 Lambda 表达式的?为什么要这样实现?一、
- 目录前言一 安全性问题1.1 调用接口的先决条件-token1.2 使用POST作为接口请求方式1.3 客户端IP白名单1.4 单个接口针对
- 从SD卡中获取图片资源,或者拍一张新的图片。 先贴代码 获取图片: 注释:拍照获取的话,可以指定图片的保存地址,在此不说明。 CharSeq
- 一 .概述先讲缓存实现,主要是mybatis一级缓存,二级缓存及缓存使用后续补充Mybatis缓存的实现是基于Map的,从缓存里面读写数据是
- 这篇文章主要介绍了spring cloud gateway请求跨域问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定
- 1、修改maven的pom文件只需要将如下依赖添加到pom.xml文件中即可。(注意此处是以plugin的方式,放在<plugins&
- 获取MCC/MNC以便控制小区广播的开启 双卡:((GeminiPhone)mPhone).getIccCardGemini(simId).
- mybatis-plus实现in嵌套sql今天使用jeegboot看源码时发现用户权限部分的代码条件查询的inSql方法的用法:即sql中的
- 多点触摸技术在实际开发过程中,用的最多的就是放大缩小功能。比如有一些图片浏览器,就可以用多个手指在屏幕上操作,对图片进行放大或者缩小。再比如
- 本文为大家分享了C# 7.0中的解构功能,供大家参考,具体内容如下解构元组C#7.0新增了诸多功能,其中有一项是新元组(ValueTuple
- 软件版本:IDEA 2020.1Maven 3.6.3 认识静态资源和动态资源静态资源,包含HTMl,图片,CSS,JS等不需要与
- 一、User Agent的含义User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及
- 添加jar包这里的Scala不是maven工程所以要找到项目结构(快捷键:同时按住Ctrl+shift+Alt+s)在模块里面添加添加MyS
- java抠图片文字或签名运行原理第一步 遍历像素点BufferedImage image = ImageIO.read(new File(i