数学相关类:
3.1 Math
定义与数学函数相关的类
Math.random() 产生[0,1)之间的随机小数
pow(a,b)
sqrt()
cbrt()
3.2 DecimalFormat
对数字格式化
# 0 , .
3.3 Random
产生随机数
3.4 BigInteger/BigDecimal
当精度要求非常高时,使用两个类
科学计算/财务计算
package com.bjpowernode.demo03;
/**
* Math类
* 主要定义了与数学函数相关的类
* @author Administrator
*
*/
public class Test01 {
public static void main(String[] args) {
System.out.println( Math.cbrt(100)); //立方根
System.out.println( Math.sqrt(100)); //平方根
System.out.println( Math.pow(3, 4)); //3的4次方
for(int i = 0 ; i<10 ; i++){
System.out.println( Math.random() );
}
}
}
package com.bjpowernode.demo03;
import java.text.DecimalFormat;
/**
* 数字格式化
* DecimalFormat
* # 任意数字
* 0 任意数字, 不足的位数补0
* , 千分位
* . 小数点
* @author Administrator
*
*/
public class Test02 {
public static void main(String[] args) {
DecimalFormat decimalFormat = new DecimalFormat("###,###.0000");
System.out.println( decimalFormat.format(12345612.45)); //12,345,612.4500
}
}
package com.bjpowernode.demo03;
import java.util.Random;
/**
* Random
* 随机数类
* @author Administrator
*
*/
public class Test03 {
public static void main(String[] args) {
Random random = new Random();
//产生小数
for(int i= 1; i <= 10 ; i++){
System.out.println( random.nextDouble());
}
System.out.println("---------------");
//产生随机整数
for(int i= 1; i <= 10 ; i++){
System.out.println( random.nextInt());
}
System.out.println("---------------");
//产生指定范围的随机整数
for(int i= 1; i <= 10 ; i++){
System.out.println( random.nextInt(100)); //[0,100)
}
}
}
package com.bjpowernode.demo03;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.math.RoundingMode;
/**
* BigInteger/BigDecimal
* 大的整数/大的小数
* 当精度要求比较高时使用, 科学计算 , 财务运算
* @author Administrator
*
*/
public class Test04 {
public static void main(String[] args) {
BigInteger i1 = new BigInteger("1234569789123564789034167489743413511313131313131");
BigInteger i2 = new BigInteger("89765435131313189123564789034167489743413511313131313131");
BigInteger i3 = i1.add(i2); //相加
System.out.println( i3 );
i3 = i1.subtract(i2);
System.out.println( i3);
i3 = i1.multiply(i2);
System.out.println( i3 );
//
BigDecimal d1 = new BigDecimal("123465478979871321324564654897321237468978932132.123154");
BigDecimal d2 = new BigDecimal("12348978945112123132154548787979876515871321324564654897321237468978932132.123154");
//注意,小数相除时,可能出现除数除不断的情况, 就会出现java.lang.ArithmeticException异常
//小数相除时,一般指定最后小数的处理方式
BigDecimal d3 = d2.divide(d1, RoundingMode.CEILING);
System.out.println( d3 );
}
}