【常用API】Math,System,Runtime,BigDecimal

Math

代表数学,是一个工具类,提供的都是对数据进行操作的一些静态方法。
Math类提供的常见方法

方法名说明
public static int abs(int a)获取参数的绝对值
public static double ceil (double a)向上取整
public static double floor(double a)向下取整
public static int round(float a)四舍五入
public static int max(int a, int b)获取两个int值中的较大值
public static double pow(double a, double b)返回a的b次幂的值
public static double random()返回值为double的随机值,范围[0.0, 1.0)

System

代表程序所在的系统,是一个工具类。
System类提供的常见方法

方法名说明
public static void exit(int status)终止当前运行的java虚拟机
public static long currentTimeMillis()返回当前系统的时间毫秒值形式

Runtime

代表程序所在的运行环境;Runtime是一个单例类。
Runtime 是一个单例类。
Runtime类提供的常见方法

方法名说明
public static Runtime getRuntime()返回与当前Java应用程序关联的运行时对象
public int availableProcessors()返回Java虚拟机可用的处理器数
public Process exec(String command)启动某个程序,并返回代表该程序的对象

BigDecimal

解决小数运算失真问题。
BigDecimal类提供的常见方法

package api_use;

import java.math.BigDecimal;
import java.math.RoundingMode;

public class BigDecimalDemo1 {
    public static void main(String[] args) {
        // 目标:掌握BigDecimal的使用,解决小数运算失真问题
        double a = 0.1;
        double b = 0.2;
        double c = a + b;
        System.out.println(c);
        System.out.println("-------------------");

        // 1、把它们变成字符串封装成BigDecimal对象来运算
        //建议使用以下方式:把小数转换成字符再得到BigDecimal对象来运算
        BigDecimal a1 = BigDecimal.valueOf(a);
        BigDecimal b1 = BigDecimal.valueOf(b);

        BigDecimal c1 = a1.add(b1);
        BigDecimal c2 = a1.subtract(b1); //减法
        BigDecimal c3 = a1.multiply(b1);
        BigDecimal c4 = a1.divide(b1);
        System.out.println(c1 +"," + c2 + "," + c3 + "," + c4);

        // 针对除不尽情况
        BigDecimal i = BigDecimal.valueOf(0.1);
        BigDecimal j = BigDecimal.valueOf(0.3);
        BigDecimal k = i.divide(j,3, RoundingMode.HALF_UP);// 相当于四舍五入
        System.out.println(k);

        // 把BigDecimal 对象转换成double 类型的数据
        double rs = k.doubleValue();
        System.out.println(rs);
    }
}


运算结果

0.30000000000000004
-------------------
0.3,-0.1,0.02,0.5
0.333
0.333

Process finished with exit code 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值