Ctrl+F//搜索程序中的某个内容
Non-terminating decimal expansion//不能精确保留几位;
Math:
代表数学,是一个工具类,里面提供的都是对数据进行操作的一些静态方法。
//取绝对值 System.out.println(Math.abs(-23)); System.out.println(Math.abs(-23.57)); //向上取整 System.out.println(Math.ceil(4.10));//输入和输出都是小数类型的 //向下取整 System.out.println(Math.floor(4.990));//输入和输出都是小数类型的 //四舍五入 System.out.println(Math.round(2.533)); //取最大值和最小值 System.out.println(Math.max(2, 2.3)); System.out.println(Math.min(2.3, 2.4)); //取次方 System.out.println(Math.pow(3, 2.3)); //取随机数 System.out.println(Math.random());
System:
System代表程序所在的系统,也是一个工具类。
//1.终止当前的Java虚拟机的运行 //System.exit(0);//该参数用作状态代码,按照惯例,非零状态代码表示异常代码。 System.out.println("---------");//不执行 //2.获取当前系统的时间。 long time=System.currentTimeMillis(); System.out.println(time);//指的是从1970年一月一日0:0:0开始走到此刻的总的毫秒值。1秒=1000ms. for (int i = 0; i <1000000 ; i++) { System.out.println("输出了"+i); } long time2=System.currentTimeMillis(); System.out.println((time2-time)/1000.0+"s");
Runtime:
代表程序所在的运行环境。Runtime是一个单例类。
//1.返回与当前Java应用程序关联的运行时对象。v Runtime r=Runtime.getRuntime(); //2.终止Java虚拟机的运行。 // r.exit(0); //3.获取虚拟机可以使用的处理器数。 System.out.println(r.availableProcessors()); //4.返回Java虚拟机中的总内存。 System.out.println(r.totalMemory()/1024/1024+"MB"); //5.返回Java虚拟机的可用总内存。 System.out.println(r.freeMemory()/1024/1024+"MB"); //6.启动某个程序 // r.exec("C:\\Program Files\\bilibili\\哔哩哔哩.exe"); // r.exec("QQ"); // r.exec("C:\\Users\\魏正想\\Downloads\\25_76b56460f152a8e59b438c66a65df80d.exe"); // r.exec("D:\\soft\\bin\\java-rmi.exe"); Process s=r.exec("QQ"); Thread.sleep(5000); s.destroy();
BigDecimal:
适用于计算小数,精度更高。
//避免运算失真。 double a=0.1; double b=0.2; double c=a+b; System.out.println(c);//运算失真 // BigDecimal a1=new BigDecimal(Double.toString(a));//注意先将浮点型转换为字符型在转换为BigDecimal型。 // BigDecimal b1=new BigDecimal(Double.toString(b));//不太常用 BigDecimal a1=BigDecimal.valueOf(0.1); BigDecimal b1=BigDecimal.valueOf(0.3); //BigDecimal c1=a1.add(b1); //BigDecimal c1=a1.subtract(b1); //BigDecimal c1=a1.multiply(b1); BigDecimal c1=a1.divide(b1,2, RoundingMode.HALF_DOWN); System.out.println(c1); double rs=c1.doubleValue(); System.out.println(c1);
SimpleDateFormat:
代表简单日期格式化,可以用来把日期对象,时间毫秒值格式化成我们想要的形式。
Date d=new Date(); System.out.println(d); long time=d.getTime(); System.out.println(time); SimpleDateFormat sdf=new SimpleDateFormat("yyy-MM-dd HH:mm:ss EEE a"); System.out.println(sdf.format(d)); System.out.println(sdf.format(time)); System.out.println("------------"); //把字符串时间解析成日期时间 String dateStr="2023-11-25 20:34"; SimpleDateFormat sdf2=new SimpleDateFormat("yyy-MM-dd HH:mm"); System.out.println(sdf2.parse(dateStr));
Calendar:
//是可变对象,一旦修改后其对象本身表示的时间将发生改变。
//1.得到此刻时间对应的日历对象 Calendar now=Calendar.getInstance(); System.out.println(now); //2.获取日历中的某个信息 int year=now.get(Calendar.YEAR); System.out.println(year); int days=now.get(Calendar.DAY_OF_YEAR); System.out.println(days); //3.拿到日历中记录的日期对象 Date d=now.getTime(); System.out.println(d); //4.拿到时间毫秒值 long time=now.getTimeInMillis(); System.out.println(time); //5.修改日历中的某个信息 now.set(Calendar.MONTH,9); now.set(Calendar.DAY_OF_YEAR,331); System.out.println(now); //6.为某个信息增加后减少多少 now.add(Calendar.DAY_OF_YEAR,100); //一年过了的时间加100;
// (Date, Calendar, SimpleDateFormat)传统的时间类
JDK8开始新增的日期时间。
LocalDate,LocalTime,LocalDateTime
//Period可以计算两个LocalDate相差的年月日。不能精确到时间。
//Duration计算天,小时,分,秒,纳秒的差。
Arrays类:
用来操作数组的一类工具类。
自定义排序Comparable:
package com.APISecond.ArraysOrder; public class OrderTest //地址idea
package com.APISecond.ArraysOrder;
public class Student implements Comparable<Student>
自定义比较器Cimparator:
package com.APISecond.ArraysOrder; import java.util.Arrays; import java.util.Comparator; public class OrderTest { public static void main(String[] args) { Student[]students=new Student[4]; students[0]=new Student("蜘蛛精",169.5,23); students[1]=new Student("至尊宝",167.5,24); students[2]=new Student("紫霞",163.8,26); students[3]=new Student("紫霞",163.8,26); // Arrays.sort(students); // System.out.println(Arrays.toString(students)); Arrays.sort(students, new Comparator<Student>() { @Override public int compare(Student o1, Student o2) { return Double.compare(o2.getHeight(),o1.getHeight());//降序 } }); System.out.println(Arrays.toString(students)); } }