文章目录
- 1、Math
- 2、System
- 3、Runtime
- 4、BigDecimal
- 5、Date日期
- 6、SimpleDateFormat
1、Math
double s=1.2;System.out.println(Math.ceil(s));//2.0System.out.println(Math.floor(s));//1.0int a=-1;System.out.println(Math.abs(a));//1System.out.println(Math.pow(2, 2));//4.0System.out.println(Math.min(1, 2));//1System.out.println(Math.max(-1, 2));//2System.out.println(Math.round(1.5));//2System.out.println(Math.random());//0-1随机数 [0,1)
2、System
//看某段代码运行时间long l = System.currentTimeMillis();//ms级别 从1970-1-1 0:0:0开始String a="123";for (int i = 0; i <100000 ; i++) {System.out.println("输出了"+i);}long l1 = System.currentTimeMillis();System.out.println(l1-l);//exit() 关闭java虚拟机 非零状态码表示异常终止System.exit(0);System.out.println("---------------");//不会执行了
3、Runtime
//runtime 是一个单例 不能创建对象 只能通过getruntime方法获取Runtime r=Runtime.getRuntime();//退出java虚拟机
// r.exit(0);System.out.println(r.totalMemory());System.out.println(r.freeMemory());//可用的处理器System.out.println(r.availableProcessors());//打开某个应用Process app = r.exec("D:\\SOftware\\qq\\QQ.exe");Thread.sleep(5000);//显示5sapp.destroy();//销毁
4、BigDecimal
用于解决浮点运算时 出现结果失真的问题
//不推荐使用构造器 传入double类型的 还是会出现精度问题//使用构造器传入字符串类型BigDecimal c=new BigDecimal(Double.toString(0.3));//建议使用这个方式 与上边的方法是一样的 但是valuesOf 底层已经帮我们封装好了 将double 转变为 string 再传给构造器BigDecimal a = BigDecimal.valueOf(0.1);BigDecimal b = BigDecimal.valueOf(0.2);System.out.println(0.1+0.2);//0.30000000000004System.out.println(a.add(b));//0.3System.out.println(a.multiply(b));//0.02System.out.println(a.divide(b));//0.5System.out.println(a.add(b).doubleValue());//转变为double类型//0.3//使用除法时需要注意,如果除不尽会出现错误,此时需要规定保留几位小数System.out.println(b.divide(c, 2, RoundingMode.HALF_DOWN));//0.67
5、Date日期
首先学的是JDK8之前的老接口,主要是学那些没有过时的接口
1、我们可以使用构造器,可以直接使用无参的,就是获得当前的系统时间的一个Data对象,也可以使用有参的传入一个毫秒值.获取毫秒值 getTime
2 可以直接传入有参构造器,也可以使用setTime
//将一个时间毫秒值转换为Date对象Date date=new Date(0);System.out.println(date);// Thu Jan 01 08:00:00 CST 1970 //当前系统时间的Date对象Date date1=new Date();System.out.println(date1);//Fri Mar 08 11:40:17 CST 2024//获取毫秒值long time = date1.getTime();System.out.println(time);//1709869217243//与上边一样System.out.println(System.currentTimeMillis());//1709869217243//设置时间Date date2=new Date();date2.setTime(1709869138350l);System.out.println(date2);//Fri Mar 08 11:38:58 CST 2024
6、SimpleDateFormat
将日期格式化为我们想要的格式
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss EEE a");Date date=new Date();System.out.println(simpleDateFormat.format(date));//2024-03-08 11:44:13 周五 上午//也可以将ms级转换为SimpleDateFormat对象long time = date.getTime();String s=simpleDateFormat.format(time);System.out.println(s);2024-03-08 11:44:13 周五 上午//将SimpleDateFormat转换为Date对象 好处理数据Date date1 = simpleDateFormat.parse(s);//注意 我们要转换的数据格式 必须与我们定义的simpleDateFormat的格式相同 否则会错System.out.println(date1);//Fri Mar 08 11:47:01 CST 2024
问题: