System类
System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。
由于该类的构造器是private的,所以无法创建该类的对象,也就是无法实例化该类。其内部的成员,所以也可以很方便的进行调用。变量和成员方法都是static的。
成员变量
System类内部包含in、out和err三个成员变量,分别代表标准输入流(键盘输入),标准输出流(显示器)和标准错误输出流(显示器)。
成员方法
native long currentTimeMillis():返回时间戳(距1970年1月1日0时0分0秒的毫秒数)
void exit(int status):退出程序,status指为0代表正常退出,非零代表异常退出。
void gc():请求系统进行垃圾回收。至于系统是否回收,取决于垃圾回收算法的实现和系统执行情况。
String getProperty(String key):获得系统中属性名为key的属性对应的值。
系统中常见属性名如下:
Math类
java.lang.Math提供了一系列静态方法用于科学计算。其方法的参数和返回值类型一般为double类型。
常用静态方法如图所示:
BigInteger、BigDecimal
BigInteger
Interger 类作为int的包装类,能存储的最大整型值为231-1,Long类也是有限的,最大为263-1。如果要表示再大的整数,不管是基本数据类型还是他们的包装类都无能为力,更不用说进行运算了。
java.math包的BigInteger可以表示不可变的任意精度的整数。BigInteger提供所有java的基本整数操作符的对应物,并提供java.lang.Math的所有相关方法。另外,BigInteger还提供以下运算:模算数、GCD计算、质数测试、素数生成、位操作以及一些其他操作。
构造器
BigInteger(String val):根据字符串构建BigInteger对象。
BigInteger bi = new BigInteger("1321323132322132331132132123132");
System.out.println(bi);//1321323132322132331132132123132
方法
BigDecimal类
一般的Float类和Double类可以用来做科学计算或者工程计算,但在商业计算中,要求数字精度比较高,故用到java.math.BigDecimal类。
BigDecimal类支持不可变的、任意精度的有符号十进制定点数。
构造器
public BigDecimal(double val)
public BigDecimal(String val)
常用方法
add:加
subtract:减
multiply:乘
divide:除
BigDecimal bd = new BigDecimal("1212.1213");
BigDecimal bd2 = new BigDecimal("22.22");
System.out.println(bd.divide(bd2,BigDecimal.ROUND_CEILING));//54.5510
System.out.println(bd.divide(bd2,15,BigDecimal.ROUND_CEILING));//54.550913591359136