蓝桥杯备考随手记: BigInteger 和 BigDecimal

在Java中,BigInteger和BigDecimal是用来处理大整数和高精度浮点数的类,分别属于java.math包。

下面分别介绍这两个类的特点、用途和常用方法:

  1. BigInteger:

    • 特点:
      • BigInteger类表示任意精度的整数,可以处理比long型和int型更大范围的整数。
      • BigInteger是不可变的(immutable)类,一旦创建就不能被修改。
      • 支持所有整数运算,如加法、减法、乘法、除法、取余等。
    • 用途:
      • 用于处理超出long型范围的整数计算,如大整数的加减乘除运算。
      • 在需要保持高精度的整数运算时使用,例如在密码学、金融领域等。
    • BigInteger类的常用方法包括:

      • add(BigInteger other):将该BigInteger与另一个BigInteger相加。返回相加后的结果。

      • subtract(BigInteger other):将该BigInteger与另一个BigInteger相减。返回相减后的结果。

      • multiply(BigInteger other):将该BigInteger与另一个BigInteger相乘。返回相乘后的结果。

      • divide(BigInteger other):将该BigInteger除以另一个BigInteger。返回相除后的结果。

      • mod(BigInteger other):计算该BigInteger除以另一个BigInteger的余数。返回余数。

      • pow(int exponent):将该BigInteger的值提升到指定的指数。返回结果。

      • compareTo(BigInteger other):比较该BigInteger与另一个BigInteger的大小。如果该BigInteger小于参数,则返回负整数;如果两者相等,则返回0;如果该BigInteger大于参数,则返回正整数。

      • equals(Object obj):比较该BigInteger与指定对象是否相等。返回布尔值。

      • toString():将此BigInteger转换为字符串表示形式。返回字符串。

      • intValue()、longValue()、floatValue()、doubleValue():将此BigInteger转换为对应的基本数据类型。

  2. BigDecimal:

    • 特点:
      • BigDecimal类表示高精度的浮点数,可以处理需要高精度计算的浮点数。
      • BigDecimal同样是不可变的(immutable)类。
      • 支持所有浮点数运算,如加法、减法、乘法、除法、取余等。
      • 可以指定精度和舍入规则来进行精确计算。
    • 用途:
      • 用于处理需要高精度计算的浮点数,如货币计算、科学计算等。
      • 避免浮点数运算中的精度丢失问题,提供更精确的计算结果。
      • 可以控制小数点后的位数,进行精确的舍入计算。
    • BigDecimal类的常用方法包括:
      • add(BigDecimal other):将该BigDecimal与另一个BigDecimal相加。返回相加后的结果。

      • subtract(BigDecimal other):将该BigDecimal与另一个BigDecimal相减。返回相减后的结果。

      • multiply(BigDecimal other):将该BigDecimal与另一个BigDecimal相乘。返回相乘后的结果。

      • divide(BigDecimal other):将该BigDecimal除以另一个BigDecimal。返回相除后的结果。

      • remainder(BigDecimal other):计算该BigDecimal除以另一个BigDecimal的余数。返回余数。

      • pow(int exponent):将该BigDecimal的值提升到指定的指数。返回结果。

      • compareTo(BigDecimal other):比较该BigDecimal与另一个BigDecimal的大小。如果该BigDecimal小于参数,则返回负整数;如果两者相等,则返回0;如果该BigDecimal大于参数,则返回正整数。

      • equals(Object obj):比较该BigDecimal与指定对象是否相等。返回布尔值。

      • toString():将此BigDecimal转换为字符串表示形式。返回字符串。

      • intValue()、longValue()、floatValue()、doubleValue():将此BigDecimal转换为对应的基本数据类型。

在实际编程中,当需要处理大整数或高精度浮点数时,使用BigInteger和BigDecimal可以确保计算结果的准确性和精度。需要注意的是,由于这两个类是不可变的,每次运算都会返回一个新的实例,因此在进行连续运算时需要将结果赋给新的BigInteger或BigDecimal对象。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值