036.JAVA常用类_数学相关类


博主的 Github 地址


1. 常用类_数学相关类(java.math)

  • java.math 中可以找到以下类.
  • 常用的数学相关的类有三个:
    • Math 类
    • BigDecimal 类
    • BigInteger 类

1.1. Math 类常用方法

  • Math 类包含用于执行基本数学运算的方法, 如初等指数\对数\平方根和三角函数,
    且该类中都是静态方法.
1.1.1. abs 方法
  • 方法定义:
    • public static XXX abs(double a)
    • XXX 是数据类型, 仅支持: int, double, long, float.
  • 作用:
    返回参数的绝对值.
1.1.2. max 方法
  • 方法定义:

    • public static XXX max(XXX a, XXX b)
    • XXX 是数据类型, 仅支持: int, double, long, float.
  • 作用:
    返回两个参数中较大的那个.

1.1.3. min 方法
  • 方法定义:

    • public static XXX min(XXX a, XXX b)
    • XXX 是数据类型, 仅支持: int, double, long, float.
  • 作用:
    返回两个参数中较小的那个.

1.1.4. random 方法
  • 方法定义:
    public static double random()

  • 作用:
    返回带正号的 double 值, 该值大于等于 0.0 且小于 1.0.
    返回值是一个伪随机选择的数, 在该范围内(近似)均匀分布.


1.2. BigDecimal 类

  • double 和 float 都不能精确的表示小数, 因此需要此类处理精度要求高的数据.
  • 此类表示不可变的任意精度的有符号十进制数.
1.2.1. 构造函数
  • 这里介绍 double 类型和 String 类型的构造函数, 其它构造函数可看 api.

  • double 类型构造函数

    • double 类型构造函数定义:
      public BigDecimal(double val)

    • 作用:
      将 double 转换为 BigDecimal.
      后者是 double 的二进制浮点值准确的十进制表示形式.

    • 备注:

      1. 此构造方法的结果有一定的不可预知性.
        因为传入的值无法准确的表示为 double.
        因此传入构造方法的值不会正好等于字面值.

      2. 但是用 String 构造方法是完全可预知的.
        因此建议优先使用 String 的构造方法.

  • String 类型构造函数

    • String 类型构造函数定义:
      public BigDecimal(String val)

    • 作用:
      将 BigDecimal 的字符串表示形式转换为 BigDecimal.

1.2.2. add 方法(BigDecimal 类型加法)
  • 方法定义:
    public BigDecimal add(BigDecimal augend)

  • 作用:
    返回一个 BigDecimal, 其值为 (this + augend), 即两个 BigDecimal 的值想加, 返回相加之和,
    其标度为 max(this.scale(), augend.scale()).

  • 图例:
    pic

1.2.3. subtract 方法(BigDecimal 类型减法)
1.2.4. multiply 方法(BigDecimal 类型乘法)
1.2.5. divide 方法(BigDecimal 类型除法)

1.3. BigInteger 类

  • 两个 long 类型的最大值相运算, 其结果会使得 long 类型存储不下.
    因此需要大整型变量进行存储.

  • 该类表示不可变的任意精度的整数. 类中操作方法和 BigDecimal 类的方法相似.

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值