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(10,20)); // 20
system.out.println(Math.min(10,20)); // 10
// 6、 public static double pow ( double a,double b):取次方
system.out.println(Math.pow(2,3));// 2的3次方 8.0
system.out.println(Math.pow(3,2)); // 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, 2,RoundingMode.HALF_UP);//因为0.1/0.3除不尽 所以取小数点后两位
system.out.println(k);
//把BigDecimal对象转换成double类型的数据
double rs = k.doublevalue();
system.out.println(rs);