参考:https://docs.oracle.com/javase/8/docs/api/index.html
Math
1.所属的包java.lang
2.Math构造方法是私有的 我们不能直接调用创建对象;
3.由于Math中提供的属性及方法都是static 不需要创建对象;
4.常用方法;
abs(a) 返回给定数字的绝对值 参数 int long float double;;
ceil(a) floor(a) rint(a) round(a) ;
max(a,b) min(a,b) 参数 int long float double;
pow(a,b);a的b次方法 (参数double 返回值double)
sqrt(a);开平方根;(参数double 返回值double)
random() ;随机产生[0,1)的double类型值;0.000---0.999
(int)(Math.random()*10);//产生0-9之间的随机整数
(Math.random()*6)+5;//5.0-10.9之间的小数;//0.99*6=5.4...产生小数的时候精确程度可能有些损失;
public class Test{ public static void main(String[] args){ System.out.println(Math.ceil(1.4));//2.0 向上取整,返回double类型 System.out.println(Math.floor(1.4));//1.0 向下取整 System.out.println(Math.rint(1.4));//1.0 临近的整数,如果距离一样,则返回偶数 System.out.println(Math.round(1.4));//1 //四舍五入的整数 } }
Random类
1.在java.util包中的类 需要import导入
2.没有任何继承关系 默认继承Object类
3.查找构造方法-->如何创建对象;
4.类中提供的常用方法;
r.nextInt();随机产生int取值范围的整数 有正有负
r.nextInt(int bound);随机产生一个[0-bound)整数
注意bound必须为正数 否则会出现如下的运行时异常
r.nextFloat() 随机产生一个[0.0-1.0)
r.nextBoolean() 随机产生一个boolean值 true false
import java.util.Random; import java.util.UUID; public class Test{ public static void main(String[] args){ Random a=new Random(); int value=a.nextInt(10);//[0-10) System.out.println(value-10); System.out.println(UUID.randomUUID().toString());//数据库表格主键 } }
UUID类
1.所属的包 java.util 需要import 导入
2.没有任何继承关系 默认继承Object类
3.构造方法有 没有无参数的 我们通常不会创建对象
System.out.println(UUID.randomUUID().toString());//产生一个32位的随机元素;数据库表格主键
BigInteger类 大整数 long -2的63次方~2的63次方-1
1.所属的包java.math 需要import导入
2.继承自Number
3.如何创建对象 提供的构造方法全部都是带参数的
通常利用带String参数的构造方法创建这个类的对象
BigInteger bi=new BigInteger("123");
4.类中的常用方法
做四则运算
add() subtract() multiply divide()
5.小例子 设计一个方法 用来计算给定数字的阶乘
import java.math.BigInteger; public class Test{ public BigInteger jieCheng(int num){ BigInteger rs=new BigInteger("1"); for(int i=1;i<=num;i++){ rs=rs.multiply(new BigInteger(i+"")); } return rs; } public static void main(String[] args){ Test a=new Test(); BigInteger result=a.jieCheng(15); System.out.println(result); } }
BigDecimal 类 超过double取值范围
1.所属的包 java.math包
2.继承Number类
3.通常也是可以通过带String参数 构建对象
4.类中的常用方法
做四则运算
add() subtract() multiply divide()
import java.math.BigDecimal; public class Test{ public static void main(String[] args){ BigDecimal d=new BigDecimal("123.456"); d=d.setScale(2,BigDecimal.ROUND_DOWN);//(位数,设置模式)向下取整 System.out.println(d); } }
将小数点之前和之后的位数都能处理的类--格式化
DecimalFormat //四色五入
1.所属的包 java.text
2.import 导入才能使用
3.通过带String参数的构造方法创建一个格式化对象 0 #;0该位无数字则补0;#该位无数字则空着;
4.调用format方法将一个小数格式化成一个字符串
import java.text.DecimalFormat; public class Test{ public static void main(String[] args){ DecimalFormat a=new DecimalFormat("000.###"); String b=a.format(12.45); System.out.println(b); } }
Scanner类
1.所属的包java.util包 需要import导包
2.通过一个带输入流的构造方法创建对象
3.常用方法 nextInt() nextFloat() next() nextLine()
System类
1.所属的包java.lang包 不需要导入
2.不需要创建对象 通过类名就可以访问
3.有三个属性及若干的方法
三个属性 out in err
方法gc() exit(0); currentTimeMills() //毫秒值
public class Test0516{ public static void main(String[] args){ long t=System.currentTimeMillis(); System.out.println(t); } }