Java常用API:Math、Syetem、Runtime、BigDecimal

本文介绍了JavaMath类中的常用数学方法,如绝对值、向上取整、向下取整等,以及Runtime类的功能,如获取处理器数量和内存信息。同时展示了如何使用BigDecimal处理小数运算以避免精度问题。
摘要由CSDN通过智能技术生成

Math类

在这里插入图片描述

//目标:了解下Nath类提供的常见方法。
// 1、public static int abs(int a):取绝对值(拿到的结果一定是正数)
//public static double abs(double a)
system.out.println(Math.abs(-12)); // 12
system.out.println(Math.abs(123));// 123
system.out.println(Math.abs(-3.14)); // 3.14
// 2、 public static double ceil(double a):向上取整
system.out.println(Math.ceil(4.0000001)); // 5.0
system.out.println(Math.ceil(4.0));//4.0
// 3、public static double floor(double a):向下取整
system.out.println(Math.floor(4.999999)); // 4.0
system.out.println(Math.floor(4.0)); // 4.0
//4、public static long round(double a):四舍五入
system.out.println(Math.round(3.4999)); // 3
system.out.println(Math.round(3.50001)); // 4
// 5、public static int max(int a, int b):取较大值
//public static int min(int a, int b):取较小值
system.out.println(Math.max(1020)); // 20
system.out.println(Math.min(10,20)); // 10
// 6、 public static double pow ( double a,double b):取次方
system.out.println(Math.pow(23));// 2的3次方  8.0
system.out.println(Math.pow(32)); // 3的2次方 9.0
// 7、public static double random():取随机数[0.0 , 1.0)〔包前不包后)
system.out.println(Math.random());

System

在这里插入图片描述

currentTimeMillis()是为了测试程序的性能

// 2、public static long currentTimeHillis():/l /获取当前系统的时间
//返回的是Long类型的时间毫秒值:指的是从1970-1-10:0:0开始走到此刻的总的毫秒值,1s = 1000ms
long time = system.currentTimeMillis();
system.out.println(time);
for (int i = 0; i < 1000000; i++) {
system.out.println("输出了: " + i);
}
long time2 = system.currentTimeMillis();
system.out.println((time2 - time) / 1000.0 + "s");//用time2-time是为了获取执行中间这个循环用了多少秒

Runtime

在这里插入图片描述

// 1、public static Runtime getRuntime()返回与当前Java应用程序关联的运行时对象。
Runtime r = Runtime.getRuntime();
// 2、pblic void exit(int status)终止当前运行的虚拟机,该参数用作状态代码;按照惯例,非零状态代码表示异常终止。
// r.exit(0);
// 3、public int availableProcessors():获取虚拟机能够使用的处理器数。
system.out.println(r.availableProcessors());
//4、public long totalMemory()返回Java虚拟机中的内存总量。
system.out.println(r.totalMemory()/1024.0/1024.0+"MB");//1024= 1K1024* 1024= 1M
// 5、public long freeMemory()返回Java虚拟机中的可用内存量
system.out.println(r.freeMemory()/1024.0/1024.0 +"MB" );
//6、public Process exec(String command)启动某个程序,并返回代表该程序的对象。
 r.exec("D : \ |soft\ \XMind \ \XIind.exe " );//这里是你想打开的应用程序的地址。 用Alt+回车可以把问题抛出去
Process p = r.exec( command: "QQ");//这个就是启动QQ这个应用程序,前提是QQ的地址在环境变量中
Thread.sleep( millis: 5000);//让程序在这里暂停5s后继续往下走!!
p.destroy(); //销毁!关闭程序!


BigDecimal

在这里插入图片描述
在这里插入图片描述

//目标:掌握BigDecimal的使用:解决小数运算失真的问题。
double a = 0.1;
double b = 0.2;
double c = a + b;
system.out.println(c);//此时会出现失真的现象 0.3000000001

//1、把他们变成字符串封装成BigDecimal对象来运算。
//BigDecimal a1 = new BigDecimal(Double.toString(a) ) ;
//BigDecimal b1 = new BigDecimal(Double.toString(b));
//推荐用以下方式:把小数转换成字符串再得到BigDecimal对象来使用(更简洁)
BigDecimal a1 = BigDecimal.valueOf(a);
BigDecimal b1 = BigDecimal.valueOf(b);
BigDecimal c1 = a1.add(b1); //加法
BigDecimal c1 = a1.subtract(b1);//减法
BigDecimal c1 = a1.multiply(b1);//乘法
BigDecimal c1 = a1.divide(b1);//除法
system.out.println(c1);
BigDecimal i = BigDecimal.valueOf(0.1);
BigDecimal j = BigDecimal.valueOf(0.3);
BigDecimal k = i.divide(j, 2RoundingMode.HALF_UP);//因为0.1/0.3除不尽 所以取小数点后两位
system.out.println(k);
//把BigDecimal对象转换成double类型的数据
double rs = k.doublevalue();
system.out.println(rs);

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值