 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的使用的更多相关文章

  1. java常用类详细介绍及总结:字符串相关类、日期时间API、比较器接口、System、Math、BigInteger与BigDecimal

    一.字符串相关的类 1.String及常用方法 1.1 String的特性 String:字符串,使用一对""引起来表示. String声明为final的,不可被继承 String ...

  2. Java 之 数学相关类 Math、BigInteger、BigDecimal

    一.java.lang.Math 类 一.Math 类概述 java.lang.Math 类包含用于执行基本数学运算的方法,如指数.对数.平方根和三角函数.类似于这样的类,其所有方法均为静态方法,并且 ...

  3. Java基础学习笔记之:System类;Math类;Arrays类BigInteger,BigDecimal

    System类 在API中System类介绍的比较简单,我们给出定义,System中代表程序所在系统,提供了对应的一些系统属性信息,和系统操作.System类不能手动创建对象,因为构造方法被priva ...

  4. 处理数字的类 —— Math类 、 Random类 、 BigDecimal类 与 BigInteger类

    在我们学习C语言时,我们处理数据时要调用很多函数,那么,Java也有很多的方法可以来处理数值的类. 那么,在本篇博文中,本人就来讲解三个用于处理数值的类 -- Math类 . Random类 与 Bi ...

  5. Java开发知识之Java的数字处理类Math类

    Java开发知识之Java的数字处理类Math类 一丶Java.text.DecimalFormat类与NumberFormat类 首先 Java.text.DecimalFormat指的是Decim ...

  6. Java中的常用类:包装类、String、StringBuffer、StringBuilder、Math、System、Arrays、BigInteger、BigDecimal、Data、Calendar

    一.包装类 √ 二.String类 ★ 三.StringBuffer和StringBuilder类 ★ 四.Math类 五.System类 六.Arrays类 七.BigInteger类和BigDec ...

  7. 日期类&&包装类&&System类&&Math类&&Arrays数组类&&大数据类

    day 07 日期类 Date 构造函数 Date():返还当前日期. Date(long date):返还指定日期 date:时间戳--->距离1970年1月1日 零时的毫秒数 常用方法 日期 ...

  8. Java—包装类/System类/Math类/Arrays类/大数据运算/Collection接口/Iterator迭代器

    基本类型包装类 8种基本类型对应的包装类如: 将字符串转成基本类型: 将基本数值转成字符串有3种方式: 基本类型直接与””相连接即可:34+" " 调用String的valueOf ...

  9. Date、DateFormat、Calendar、System、Math类总结

    java.util.Date: 构造方法 public Date() 空参构造,返回当前时间 public Date(long 毫秒值) 指定毫秒值的时间 普通方法 long getTime() 获取 ...

  10. C# - 系统类 - Math类

    Math类 ns:System 此类除了提供了最基本的运算功能 还提供了三角.指数.超常的计算 它的所有方法都是静态的 Math类的字段 E 常量e 自然对数底 值为2.71828182845905 ...

随机推荐

  1. ubuntu安装使用mydumper

    apt搜索一下 $ sudo apt search mydumper [sudo] password for zhaoyao: Sorting... Done Full Text Search... ...

  2. dotnet学习笔记-专题04-配置的读取和写入-01

    配置的读取和写入 读取配置的类,包括手动从json中读取配置.将json配置与配置类绑定.从控制台读取配置.从环境变量读取配置 using System.Diagnostics; using Micr ...

  3. Java线程:线程的调度-守护线程——Java线程:线程的调度-合并——Java线程:新特征-障碍器——Java线程:大总结

    Java线程:线程的调度-守护线程   守护线程与普通线程写法上基本么啥区别,调用线程对象的方法setDaemon(true),则可以将其设置为守护线程.   守护线程使用的情况较少,但并非无用,举例 ...

  4. docker-compose之基础(1)

    安装: 1)经常因为由于网络原因,导致安装不成功 curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-c ...

  5. PTA 那就别担心了

    PTA 那就别担心了 给定一个有向无环图,给出起点\(st\)和终点\(ed\),问从起点出发的所有路径是否都能到达终点,并且让你求出从起点到终点的不同路径数量 \(DFS\)记忆化搜索 对于第一个问 ...

  6. 理解Flink之一编译Flink-1.11.1

    下载源码 git clone -b release-1.11.1 https://github.com/apache/flink.git --depth=1 flink-1.11.1 编译 mvn c ...

  7. asp.net 简单日志收集

    做开发的都知道,完整的日志记录对问题的解决,回溯是多么的重要,多么的不可缺少. 那么我们怎么记录完整的日志? 今天,我们来说一说问题:从哪里开始记录呢?在哪里保存呢? IHttpModule,这个大家 ...

  8. PDFSharp - Graphics

    PDFSharp - Graphics Graphics - PDFsharp and MigraDoc Wiki 所有的 Graphics 类型都设计成模仿来自 System.Drawing 命名空 ...

  9. AOP中动态代理详解

    动态代理概述 什么是代理 代理模式(Proxy pattern): 为另一个对象提供一个替身或占位符以控制对这个对象的访问 什么是动态代理? 动态代理就是,在程序运行期,创建目标对象的代理对象,并对目 ...

  10. 【转】ReentrantReadWriteLock读写锁详解

    https://www.cnblogs.com/xiaoxi/p/9140541.html 一.读写锁简介 现实中有这样一种场景:对共享资源有读和写的操作,且写操作没有读操作那么频繁.在没有写操作的时 ...