Math 类中提供了很多数学方法,主要包括三角函数方法,指数函数方法,取整函数方法,取最大值,取最小值及平均值函数方法。这些方法都被定义为 static 形式,所有应用比较方便。可以如下形式调用:
Mah.数学方法
在Math类中还存在一些常用的数学常量如 PI(π) 和 E(e),它们的调用方法和数学方法一样,如下形式:
Math.PI
Math.E
1、Math中常用的成员方法
- public static int abs(int a): 取绝对值。
- public static double ceil(double a): 向上取整。
- public static double floor(double a):向下取整。
- public static int max(int a,int b): 获取最大值。
- public static int min(int a, int b): 获取最小值。
- public static double pow(double a,double b): 获取a的b次幂。
- public static double random(): 获取随机数 返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。
- public static int round(float a) :四舍五入。
- public static double sqrt(double a):获取正平方根。
2、Random类
除了Math类中的random()方法可以获取随机数之外,Java中还提供了一种可以随机获取随机数的方式,那就是Random类。它可以通过实例化一个对象创建一个随机数生成器。语法如下:
Random r=new Random();
这种方式创建的对象时,Java编辑器以系统当前时间作为随机数生成器的种子,因为每时每刻的时间可能不相同,所以产生的随机数也不相同,但是如果运行的如果太快,也会产生两个运行结果相同的随机数。我们也可以在实例化的时候,设置随机数生成器的种子。
在Random类中还提供了获取各种随机数的方法,例如:
- public int nextInt():返回一个随机整数
- public int nextInt(int n):返回一个大于等于0且小于n的随机整数。
- void nextBytes(byte[] bytes): 生成随机字节并将其置于用户提供的空的 byte 数组中。
3、System类
System 类包含一些有用的类字段和方法。它不能被实例化。它里面一些成员方法如下:
- public static void gc():调用垃圾回收器
- public static void exit(int status):退出java虚拟机 0 为正常退出 非0为 异常退出
- public static long currentTimeMillis():获取当前时间的毫秒值
4、BigDecimal类
BigDecimal能实现大数字的运算。一般float型和double型数据只可以用来做科学运算,有时候我们需要更加高的精准度,所有用到了BigDecimal类,BigDecimal类支持任何精度的定点数,可以用他来精确计算。
1. 构造方法
- public BidDecimal(double val):实例化时将双精度型转换为BigDecimal类型
- public BigDecimal(String val):实例化时将字符串形式转换为BigDecimal类型
2. 成员方法
- public BigDecimal add(BigDecimal augend):做加法操作。
- public BigDecimal subtract(BigDecimal subtrahend):做减法操作。
- public BigDecimal multiply(BigDecimal multiplicand):做乘法操作。
- public BigDecimal divide(BigDecimal divisor,int scale,int roundingMode):做除法操作,方法中的参数分别代表除数、商的小数点后面的位数、近似处理的模式(例如四舍五入)。