1.Math类
01.Math:用于数学运算的类
成员变量:
public static final double PI
public static final double E
成员方法:
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):最大值 (min自学)
public static double pow(double a,double b):a的b次幂
public static double random():随机数 [0.0,1.0)
public static int round(float a) 四舍五入(参数为double的自学)
public static double sqrt(double a):正平方根
02.设计一个方法,可以实现获取任意范围内的随机数。
public class mathDemo {
public static void main(String[] args) {
System.out.println("请输入最小值");
Scanner input=new Scanner(System.in);
int min=input.nextInt();
System.out.println("请输入最大值");
int max=input.nextInt();
System.out.println("在"+min+"到"+max+"之间的随机数为"+getRandom(min, max));
}
public static int getRandom(int min,int max) {
int random=(int)(Math.random()*(max-min+1))+min;
return random;
}
}
2.Random类
01.Random:产生随机数的类
构造方法:
public Random():没有给种子,用的是默认种子,是当前时间的毫秒值
public Random(long seed):给出指定的种子
给定种子后,每次得到的随机数是相同的。
成员方法:
public int nextInt():返回的是int范围内的随机数
public int nextInt(int n):返回的是[0,n)范围的内随机数
public class RandomDemo {
public static void main(String[] args) {
// 创建对象
// Random r = new Random();
Random r = new Random(1111);
for (int x = 0; x < 10; x++) {
// int num = r.nextInt();
int num = r.nextInt(100) + 1;
System.out.println(num);
}
}
}
3.System类
01.System类包含一些有用的类字段和方法。它不能被实例化。
方法:
public static void gc():运行垃圾回收器。
public static void exit(int status):终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止。
public static long currentTimeMillis():返回以毫秒为单位的当前时间
public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length):从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
eg:
public class SystemDemo {
public static void main(String[] args) {
// 定义数组
int[] arr = { 11, 22, 33, 44, 55 };
int[] arr2 = { 6, 7, 8, 9, 10 };
System.arraycopy(arr, 1, arr2, 2, 2);
System.out.println(Arrays.toString(arr));//不变
System.out.println(Arrays.toString(arr2));//[6, 7, 22, 33, 10]
}
}
4.BigInteger类
01.BigInteger:可以让超过Integer范围内的数据进行运算
构造方法: BigInteger(String val)
02.BigInteger的几种方法
public BigInteger add(BigInteger val):加
public BigInteger subtract(BigInteger val):减
public BigInteger multiply(BigInteger val):乘
public BigInteger divide(BigInteger val):除
public BigInteger[] divideAndRemainder(BigInteger val):返回商和余数的数组
5.BigDecimal类
01.BigDecimal类:不可变的、任意精度的有符号十进制数,可以解决数据丢失问题。
构造方法:
public BigDecimal(String val)
public BigDecimal add(BigDecimal augend)
public BigDecimal subtract(BigDecimal subtrahend)
public BigDecimal multiply(BigDecimal multiplicand)
public BigDecimal divide(BigDecimal divisor)
public BigDecimal divide(BigDecimal divisor,int scale,int roundingMode):商,几位小数,如何舍取