math类
类所在的包
java.lang 不需要导包
类的关系
继承object
类对象的创建
所有属性和方法都是静态 不需要创建对象
类的属性和方法
属性: PI---圆周率 E---E数
方法:
int=Math.abs(int) 绝对值 数字型的基本数据类型都支持long int float double
int=Math.max(int a,int b) 返回最大值 如果传入数据类型不一致 返回值自动提升到范围较大的数据类型
int=Math.min() 返回最小值 数字型的基本数据类型都支持long int float double
double=Math.ceil() ceil()向上取整,即大于这个数的最小的那个整数;
double=Math.floor() 向下取整,即小于这个数的最大的那个整数;
double=Math.rint() 返回最接近该值的那个整数。注意如果存在两个这样的整数,则返回其中的偶数
int=Math.round() 返回四舍五入的int类型 (0.5的数取数轴右边的整数,这样比较好理解) round(-1.5) //-1
double=Math.pow(double a ,double b) a的b次方返回double类型
double=Math.sqrt(double a ) 开根号
double=Math.random() 取[0,1)的随机数
这个方法不能满足一些变态的需求 比如取5-10之间的随机数 double=Math.random()*5+5 5+0.999999999*5=10.9999999995 会有精度的损失
Random类
类所在的包
java.util 需要导包 import java.util.Random;
类的关系
继承object
类对象的创建
Random r=new Random();
Random r=new Random(long seed); -->种子数一样生成的随机数是一样的
类的属性和方法
int=r.nextInt(); 随机生成一个int类型的数;默认范围是int取值范围,有写范围的方法重载int=r.nextInt(10); 0-9的整数
long=r.nextLong();
float=r.nextFloat(); 随机生成一个0-1的小数
double=r.nextDouble(); 随机生成一个0-1的小数
boolean=r.nextBoolean(); 随机生成一个boolean值
void=r.nextBytes[byte[] bytes] 随机生成一个byte放入到byte数组中
BigInteger类
用于超大数字的计算
类所在的包
java.math 需要导包 import java.util.BigInteger;
类的关系
继承Number
类对象的创建 构造方法都是带参数的通常用Sring类型参数
BigInteger big1=new BigInteger("123232132131232132132312321323");
BigInteger big2=new BigInteger("123232132131232132132312321323");
类的方法
BigInteger=big1.abs() 返回大整数的绝对值
BigInteger=big1.add(big2) 返回两个大整数的和
BigInteger=big1.divide(big2) 返回两个大整数的商
BigInteger=big1.subtract(big2) 返回两个大整数的差
BigInteger=big1.and(BigInteger val) 返回两个大整数的按位与的结果
BigInteger=big1.andNot(BigInteger val) 返回两个大整数与非的结果
BigInteger=big1.max(BigInteger val) 返回两个大整数的最大者
BigInteger=big1.min(BigInteger val) 返回两个大整数的最小者
BigInteger=big1.mod(BigInteger val) 用当前大整数对val求模
BigInteger=big1.multiply(BigInteger val) 返回两个大整数的积
BigInteger=big1.negate() 返回当前大整数的相反数
BigInteger=big1.pow(int) 返回当前大整数的次方
BigInteger=big1.remainder(big2) 返回当前大整数除以val的余数
BigInteger类
比double更精确的数
类所在的包
java.math 需要导包 import java.util.BigDecimal;
类的关系
继承Number
类对象的创建 构造方法都是带参数的通常用Sring类型参数
BigInteger big1=new BigInteger("12323213213.1232132132312321323");
BigInteger big2=new BigInteger("1232321321.31232132132312321323");
类的方法
BigInteger=big1.add(big2) 返回两个大整数的和
BigInteger=big1.divide(big2) 返回两个大整数的商
BigInteger=big1.subtract(big2) 返回两个大整数的差
BigInteger=big1.multiply(BigInteger val) 返回两个大整数的积
big1=big1.setScale(3,3); --->处理小数点位数用setScale 第一个参数保留几位 第二个参数保留的方式 向上取整向下取整 四舍五入等
DecimalFormat类
专业的格式化类
类所在的包
java.text
类的关系
继承NumberFormat
类对象的创建
0如果给定数字的位数不够用0填补、整数多了不处理、小数多了四舍五入
#如果给定数字的位数不够不处理、整数多了不处理、小数多了四舍五入
DecimalFormat decimal =new DecimalFormat("0"); //显示所有整数
DecimalFormat decimal =new DecimalFormat("#"); //显示所有整数
DecimalFormat decimal =new DecimalFormat("000.000"); 12.34 --> 012.340
DecimalFormat decimal =new DecimalFormat("000.###"); 1234.3333 ---> 1234.333
DecimalFormat decimal =new DecimalFormat("000.###%"); //百分比展示 0.3432 ----> 034.32%
DecimalFormat decimal =new DecimalFormat(",###"); //以逗号隔开 123456789 ---> 123,456,789
类的方法
String value =decimal.format(1222.3335);