深入了解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
0
投稿
猜你喜欢
- java中的线程状态🥇在操作系统层面,一个线程就两个状态:就绪和阻塞状态.但是java中为了在线程阻塞时能够更快速的知晓一个线程阻塞的原因,
- 概述在mvn clean install时,控制台各种报错,大概有:java:[8,52] 程序包com.xxx不存在java:[98,27
- 默认情况下,插件 spring-boot-maven-plugin 会把整个项目打包成一个可运行的Jar包(即所谓的Flat Jar),导致
- 使用ProcessBuilder踩到的坑最近使用ProcessBuilder执行命令,命令内容正确,但始终报错命令实行失败,是因为不熟悉Pr
- 前言加密配置是一个很常见的需求,在spring boot生态中,已经有非常多的第三方starter实现了,博主所在公司也有这种强制要求,一些
- 代码:package com.lwj.test.proxy;import java.lang.reflect.InvocationHandl
- 本文介绍了Java实现动态获取图片验证码的示例代码,分享给大家,具体如下:import javax.imageio.ImageIO;impo
- 配置java环境变量这里是将环境变量配置在etc/profile,即为所有用户配置JDK环境。sudo vi /etc/profile配置环
- 以下代码为一个工具类package com.imooc.reflect;import java.lang.reflect.Method;pu
- 在实际项目当中,我们经常会涉及到对时间的处理,例如登陆网站,我们会看到网站首页显示XXX,欢迎您!今天是XXXX年。。。。某些网站会记录下用
- DateTime.Now.ToString("dddd",new System.Globalization.Cultur
- 文章来源:aspcn 作者:孙雯服务器Sockets列表9.2是一个服务器应用程序的一部分.列表9.2 一个简单的服务器程序 /** &n
- 在做项目时,需要一个定时任务来接收数据存入数据库,后端再写一个接口来提供该该数据的最新的那一条。数据保持最新:设计字段sign的值(0,1)
- 实践过程效果代码public partial class Form1 : Form {
- 一个错误:多线程使用单一消费者下图显现了一种错误的使用KafkaConsumer的方法创建多个线程用来消费kafka数据多线程使用同一个Ka
- 批量添加,批量更新之前判断是否已经存在批量添加之前判断是否已经存在,foreach separator用UNION ALL。批量
- 正常在Java工程中读取某路径下的文件时,可以采用绝对路径和相对路径,绝对路径没什么好说的,相对路径,即相对于当前类的路径。在本地工程和服务
- 图片解析:1.生成字节码文件的过程可能产生编译时异常(checked),由字节码文件到在内存中加载、运行类此过程可能产生运行时异常(unch
- 创建hander文件夹在 java 源码目录下创建hander文件夹, 在该文件夹下创建CustomAuthenticationFailHa
- 简介官方API文档Scaffold的of方法说明有说明调用Scaffold.of方法是在Scallfold的子组件的Build方法中,也就是