APISecond

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));
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值