System类、Math类、BigInteger与BigDecimal的使用
System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。
该类位于java.lang包。
由于该类的构造器是private的,所以无法创建该类的对象,也就是无法实
例化该类。其内部的成员变量和成员方法都是static的,所以也可以很方便
的进行调用。
成员变量
System类内部包含in、out和err三个成员变量,分别代表标准输入流
(键盘输入),标准输出流(显示器)和标准错误输出流(显示器)。
成员方法
native long currentTimeMillis(): :
该方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时
间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数。
void exit(int status): :
该方法的作用是退出程序。其中status的值为0代表正常退出,非零代表
异常退出。 使用该方法可以在图形界面编程中实现程序的退出功能等。
9.5 System类 类
void gc(): :
该方法的作用是请求系统进行垃圾回收。至于系统是否立刻回收,则
取决于系统中垃圾回收算法的实现以及系统执行时的情况。
String getProperty(String key): :
该方法的作用是获得系统中属性名为key的属性对应的值。系统中常见
的属性名以及属性的作用如下表所示:

package com.atguigu.java; import org.junit.Test; import java.math.BigDecimal;
import java.math.BigInteger; /**
* 其他常用类的使用
* 1.System
* 2.Math
* 3.BigInteger 和 BigDecimal
*
* @author CH
* @create 2021 下午 6:23
*/
public class OtherClassTest { @Test
public void test1() {
String javaVersion = System.getProperty("java.version");
System.out.println("java的version:" + javaVersion); String javaHome = System.getProperty("java.home");
System.out.println("java的home:" + javaHome); String osName = System.getProperty("os.name");
System.out.println("os的name:" + osName); String osVersion = System.getProperty("os.version");
System.out.println("os的version:" + osVersion); String userName = System.getProperty("user.name");
System.out.println("user的name:" + userName); String userHome = System.getProperty("user.home");
System.out.println("user的home:" + userHome); String userDir = System.getProperty("user.dir");
System.out.println("user的dir:" + userDir); } @Test
public void test2() {
BigInteger bi = new BigInteger("1243324112234324324325235245346567657653");
BigDecimal bd = new BigDecimal("12435.351");
BigDecimal bd2 = new BigDecimal("11");
System.out.println(bi);
// System.out.println(bd.divide(bd2));
System.out.println(bd.divide(bd2, BigDecimal.ROUND_HALF_UP));
System.out.println(bd.divide(bd2, 25, BigDecimal.ROUND_HALF_UP)); }
}

java.lang.Math 提供了一系列静态方法用于 科学 计算。其 方法的参数和返回
为 值类型一般为double 型。
abs 绝对值
acos,asin,atan,cos,sin,tan 三角函数
sqrt 平方根
pow(double a,doble b) a 的b 次幂
log 自然对数
exp e 为底指数
max(double a,double b)
min(double a,double b)
random() 返回0.0 到1.0 的随机数
long round(double a) double 型数据a 转换为long 型(四舍五入)
toDegrees(double angrad) 弧度—> 角度
toRadians(double angdeg) 角度—> 弧度

BigInteger与BigDecimal
Integer类作为int的包装类,能存储的最大整型值为2 31 -1,Long类也是有限的,
最大为2 63 -1。如果要表示再大的整数,不管是基本数据类型还是他们的包装类
都无能为力,更不用说进行运算了。
java.math包的BigInteger 可以表示不可变的任意精度的整数。BigInteger 提供
所有 Java 的基本整数操作符的对应物,并提供 java.lang.Math 的所有相关方法。
另外,BigInteger 还提供以下运算:模算术、GCD 计算、质数测试、素数生成、
位操作以及一些其他操作。
构造器
BigInteger(String val):根据字符串构建BigInteger对象


常用 方法
public BigInteger abs():返回此 BigInteger 的绝对值的 BigInteger。
BigInteger add(BigInteger val) :返回其值为 (this + val) 的 BigInteger
BigInteger subtract(BigInteger val) :返回其值为 (this - val) 的 BigInteger
BigInteger multiply(BigInteger val) :返回其值为 (this * val) 的 BigInteger
BigInteger divide(BigInteger val) :返回其值为 (this / val) 的 BigInteger。整数
相除只保留整数部分。
BigInteger remainder(BigInteger val) :返回其值为 (this % val) 的 BigInteger。
BigInteger[] divideAndRemainder(BigInteger val):返回包含 (this / val) 后跟
(this % val) 的两个 BigInteger 的数组。
BigInteger pow(int exponent) :返回其值为 (this exponent ) 的 BigInteger。

一般的Float类和Double类可以用来做科学计算或工程计算,但在 商业计算中,
到 要求数字精度比较高,故用到java.math.BigDecimal类 类 。
BigDecimal类支持不可变的、任意精度的有符号十进制定点数。
构造器
public BigDecimal(double val)
public BigDecimal(String val)
常用方法
public BigDecimal add(BigDecimal augend)
public BigDecimal subtract(BigDecimal subtrahend)
public BigDecimal multiply(BigDecimal multiplicand)
public BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)
System类、Math类、BigInteger与BigDecimal的使用的更多相关文章
- java常用类详细介绍及总结:字符串相关类、日期时间API、比较器接口、System、Math、BigInteger与BigDecimal
一.字符串相关的类 1.String及常用方法 1.1 String的特性 String:字符串,使用一对""引起来表示. String声明为final的,不可被继承 String ...
- Java 之 数学相关类 Math、BigInteger、BigDecimal
一.java.lang.Math 类 一.Math 类概述 java.lang.Math 类包含用于执行基本数学运算的方法,如指数.对数.平方根和三角函数.类似于这样的类,其所有方法均为静态方法,并且 ...
- Java基础学习笔记之:System类;Math类;Arrays类BigInteger,BigDecimal
System类 在API中System类介绍的比较简单,我们给出定义,System中代表程序所在系统,提供了对应的一些系统属性信息,和系统操作.System类不能手动创建对象,因为构造方法被priva ...
- 处理数字的类 —— Math类 、 Random类 、 BigDecimal类 与 BigInteger类
在我们学习C语言时,我们处理数据时要调用很多函数,那么,Java也有很多的方法可以来处理数值的类. 那么,在本篇博文中,本人就来讲解三个用于处理数值的类 -- Math类 . Random类 与 Bi ...
- Java开发知识之Java的数字处理类Math类
Java开发知识之Java的数字处理类Math类 一丶Java.text.DecimalFormat类与NumberFormat类 首先 Java.text.DecimalFormat指的是Decim ...
- Java中的常用类:包装类、String、StringBuffer、StringBuilder、Math、System、Arrays、BigInteger、BigDecimal、Data、Calendar
一.包装类 √ 二.String类 ★ 三.StringBuffer和StringBuilder类 ★ 四.Math类 五.System类 六.Arrays类 七.BigInteger类和BigDec ...
- 日期类&&包装类&&System类&&Math类&&Arrays数组类&&大数据类
day 07 日期类 Date 构造函数 Date():返还当前日期. Date(long date):返还指定日期 date:时间戳--->距离1970年1月1日 零时的毫秒数 常用方法 日期 ...
- Java—包装类/System类/Math类/Arrays类/大数据运算/Collection接口/Iterator迭代器
基本类型包装类 8种基本类型对应的包装类如: 将字符串转成基本类型: 将基本数值转成字符串有3种方式: 基本类型直接与””相连接即可:34+" " 调用String的valueOf ...
- Date、DateFormat、Calendar、System、Math类总结
java.util.Date: 构造方法 public Date() 空参构造,返回当前时间 public Date(long 毫秒值) 指定毫秒值的时间 普通方法 long getTime() 获取 ...
- C# - 系统类 - Math类
Math类 ns:System 此类除了提供了最基本的运算功能 还提供了三角.指数.超常的计算 它的所有方法都是静态的 Math类的字段 E 常量e 自然对数底 值为2.71828182845905 ...
随机推荐
- P4229 某位歌姬的故事
P4229 某位歌姬的故事 处理复杂点的 dp 题. 思路 先考虑 \(n\) 比较小的情况,把每个询问放到线段上,发现每个格子只能满足覆盖最小的限制,于是考虑将询问有效区间排序考虑. 设 \(f[i ...
- 符合ASTM标准的雨流计数法及其不同的改进方法
随着研究的深入,人们发现采用时间序列计算载荷谱太麻烦了,处理的工作量太大,我们不需要将每个时刻点的载荷都做运算,疲劳计算只需要提供幅值.均值和循环次数,鉴于此发展出了很多不同的计数方法,雨流法是最常见 ...
- c# is 和 as 浅看重制版
前言 当年写的比较差:https://www.cnblogs.com/aoximin/p/12965408.html,所以特来重新写一遍. 正文 首先为什么会出现is 和 as 呢? 因为是为了有需要 ...
- cento 申请ssl证书笔记
如果您的Certbot工具没有内置的Nginx插件,您可以尝试以下方法来申请证书并配置Nginx服务器: 安装Certbot的Nginx插件: sudo yum install certbot-ngi ...
- js模拟点击下载文件到本地
function fake_click(obj) { var ev = document.createEvent("MouseEvents"); ev.initMouseEvent ...
- ES6 面试题
新增了哪些属性? 新增块级作用域:let.const 新增数据类型:Symbol 表示独一无二的值 新增数据结构: Set,类似数组,所有数据是唯一的: Map,键值对的结合,传统的 Object 只 ...
- Kafka Streams 在监控场景的应用与实践
作者:来自 vivo 互联网服务器团队- Pang Haiyun 介绍 Kafka Streams 的原理架构,常见配置以及在监控场景的应用. 一.背景 在当今大数据时代,实时数据处理变得越来越重要, ...
- 大咖论道|金融AI下一阶段的发展思考
回顾过去十年,人工智能(AI)技术的发展速度让人惊叹,金融行业是现今AI应用最具潜力和最为活跃的领域之一.通过多年渗透,AI不间断从技术驱动迈向场景驱动,已广泛与金融业务深度融合,衍生出众多新业态.新 ...
- 超实用干货(1)-Apache greenplum在aarch64架构体系的适配编译
编译环境 操作系统:EulerOS 2.0 sp8 ● 内核:4.19.36 ● CPU:aarch64 编译所需软件类别 cmake-3.23.0-rc1.tar.gz 下载地址: https:// ...
- 【XML编程与WEB服务】XML入门
目录 XML -入门 XML文档组成 XML文档规则 XML元素 特殊字符数据引用 CDATA段 空白处理 XML -入门 XML(Extensible Markup Language):可扩展的标记 ...