目录
一、System类: 系统属性信息工具类
- public static long currentTimeMillis():获取当前系统时间与1970年01月01日00:00点之间的毫秒差值
- public static void exit(int status):用来结束正在运行的Java程序。参数传入一个数字即可。通常传入0记为正常状态,其他为异常状态
- public static void gc():用来运行JVM中的垃圾回收器,完成内存中垃圾的清除。
- public static String getProperties():用来获取指系统属性信息
/*
* System类练习
*/
public static void function1(){
long second1 = System.currentTimeMillis();//返回当前的时间
for (int i = 0; i < 10000; i++) {
for (int j = 0; j < 2; j++) {
System.out.println(i);
}
}
long second2 = System.currentTimeMillis(); //返回循环执行后的时间
System.out.println(second2 -second1);
System.gc();//垃圾回收
System.exit(0);//退出虚拟机,下面的循环不在打印
for (int i = 0; i < 1000; i++) {
System.out.println("测试");
}
}
二、Arrays类:数组操作工具类
- public static void sort方法,用来对指定数组中的元素进行排序(元素值从小到大进行排序)
- public static String toString方法,用来返回指定数组元素内容的字符串形式
- public static void binarySearch方法,在指定数组中,查找给定元素值出现的位置。若没有查询到,返回位置为-插入点-1。要求该数组必须是个有序的数组
/*
* Array 数组工具类,包含了数组的操作
*/
public static void function3(){
int[] arr = {15,37,91,2,81,27,9};
//升序排列
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
//二分查找,返回下标
int index =Arrays.binarySearch(arr, 37);
System.out.println(index);
//toString(),将数组转换成String
String arrString = Arrays.toString(arr);
System.out.println(arrString);
}
三、Math类:数学运算工具类
- abs方法,结果都为正数
- ceil方法,结果为比参数值大的最小整数的double值
- floor方法,结果为比参数值小的最大整数的double值
- max方法,返回两个参数值中较大的值
- min方法,返回两个参数值中较小的值
- pow方法,返回第一个参数的第二个参数次幂的值
- round方法,返回参数值四舍五入的结果
- random方法,产生一个大于等于0.0且小于1.0的double小数
-
/* * Math类 */ public static void function2(){ //返回参数的绝对值 int ina = Math.abs(-2); System.out.println("ina:"+ina); //参数向上取整数 double dc =Math.ceil(5.4); System.out.println("dc:"+dc); //参数向下取整 double df = Math.floor(5.4); System.out.println("df:"+df); //返回参数四舍五入的平方根 double ds = Math.sqrt(5); System.out.println("ds:"+ds); //返回参数的四舍五入的值 long lr = Math.round(5.4);//舍 System.out.println("lr:"+lr); long lr1 = Math.round(5.5);//入 System.out.println("lr1:"+lr1); }
四、BigInteger: 大数运算类
/*
* BigInteger,将超过long范围的数值使用BigInteger包装
*/
public static void function4(){
//long num = 6859376293276046527654823651974092573597;//超过long的范围,报错
//初始化 推荐使用参数为String 类型的
BigInteger bigNum1 = new BigInteger("6859376293276046527654823651974092573597");
BigInteger bigNum2 = new BigInteger("11");
//加
BigInteger addResult = bigNum1.add(bigNum2);
System.out.println(addResult);
//减
BigInteger subResult = bigNum1.subtract(bigNum2);
System.out.println(subResult);
//乘
BigInteger multResult = bigNum1.multiply(new BigInteger("2"));
System.out.println(multResult);
//除
BigInteger divResult = bigNum1.divide(new BigInteger("1"));
System.out.println(divResult);
}
五、BigDecimal 浮点大数运算类
/*
* BigDecimal 浮点数高精度运算
*/
public static void function5(){
//结果为0.09999999999999999,,是因为计算机存储浮点数不精确造成的
System.out.println("0.09+0.01 = "+(0.09+0.01));
// BigDecimal 构造函数参数推荐使用String类型
BigDecimal bigDecimalNum1 = new BigDecimal("0.99999999999");
BigDecimal bigDecimalNum2 = new BigDecimal("0.00000000001");
//加
BigDecimal addReuslt = bigDecimalNum1.add(bigDecimalNum2);
System.out.println(addReuslt);
//减
BigDecimal subResult= bigDecimalNum1.subtract(bigDecimalNum2);
System.out.println(subResult);
//乘
BigDecimal multResult = bigDecimalNum1.multiply(new BigDecimal("1"));
System.out.println(multResult);
//除
BigDecimal divResult = bigDecimalNum1.divide(new BigDecimal("2"));
System.out.println(divResult);
}