- math
java提供了基本的 + - * / %等基本算术运算的运算符,但对于更复杂的数学运算比如:三角函数,对数运算,指数运算就无能为力了。Java提供了Math工具类来完成这些复杂的运算,Math是一个工具类,他的构造器被定义成了private,所以无法创建Math类的对象。Math所有的方法都是类方法,可以直接通过类名来调用他们。此外,Math还提供了2个属性,PI E。这个类用的不多,这里就懒得赘述了,具体的方法自己去翻API查查就好了。
- Random
import java.io.IOException; import java.util.Random; public class Linkin { public static void main(String[] args) throws IOException { Random random = new Random(); //在 0(包括)和指定值(不包括)之间均匀分布的 int 值。 System.out.println(random.nextInt(5)); //为了避免2个Random对象产生相同的数字序列,通常推荐使用当前时间未做Random对象的种子。 Random random1 = new Random(System.currentTimeMillis()); //多线程环境下,使用ThreadLocalRandom ThreadLocalRandom threadLocalRandom = new ThreadLocalRandom(); //生成一个0到5的伪随机整数 int huhu = threadLocalRandom.nextInt(0,5); } }
随机数我们知道用Random就成,但如果我们不进行封装的话,恐怕每次都要至少写2行代码才行,但commons-lang却替你封装好了,每次生成随机数,只需像如下这样调用即可:
RandomUtils.nextInt()
只需一行。
- Bigdecimal
双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。Java在java.math包中提
构造器
BigDecimal(int)创建一个具有参数所指定整数值的对象。
BigDecimal(double)创建一个具有参数所指定双精度值的对象。
BigDecimal(long)创建一个具有参数所指定长整数值的对象。
BigDecimal(String)创建一个具有参数所指定以字符串表示的数值的对象。
方
add(BigDecimal)BigDecimal对象中的值相加,然后返回这个对象。
subtract(BigDecimal)BigDecimal对象中的值相减,然后返回这个对象。
multiply(BigDecimal)BigDecimal对象中的值相乘,然后返回这个对象。
divide(BigDecimal)BigDecimal对象中的值相除,然后返回这个对象。
toString()将BigDecimal对象的数值转换成字符串。
doubleValue()将BigDecimal对象中的值以双精度数返回。
floatValue()将BigDecimal对象中的值以单精度数返回。
longValue()将BigDecimal对象中的值以长整数返回。
intValue()将BigDecimal对象中的值以整数返回。
注意,由于一般数值类型,例如double,不能准确地代表16位有效数以上的数字,在使用BigDecimal时,应用
eg:
两个BigDecimal
BigDecimal