文章目录

  • BigInteger类
  • BigDecimal类


BigInteger类

Integer类作为int的包装类,能存储的最大整型值为2^31-1,Long类也是有限的,
最大为2^63-1。如果要表示再大的整数,不管是基本数据类型还是他们的包装类
都无能为力。

java.math包的BigInteger可以表示不可变的任意精度的整数。BigInteger 提供所有 Java 的基本整数操作符的对应物,并提供 java.lang.Math 的所有相关方法。另外,BigInteger 还提供以下运算:模算术、GCD 计算、质数测试、素数生成、位操作以及一些其他操作。

构造器:
BigInteger(String val):根据字符串构建BigInteger对象

常用方法:
①BigInteger abs():返回此 BigInteger 的绝对值的 BigInteger
②BigInteger add(BigInteger val):返回其值为 (this + val) 的 BigInteger
③BigInteger subtract(BigInteger val):返回其值为 (this - val) 的 BigInteger
④BigInteger multiply(BigInteger val):返回其值为 (this * val) 的 BigInteger
⑤BigInteger divide(BigInteger val):返回其值为 (this / val) 的 BigInteger,整数
相除只保留整数部分
⑥BigInteger remainder(BigInteger val):返回其值为 (this % val) 的 BigInteger
⑦BigInteger[] divideAndRemainder(BigInteger val):返回包含 (this / val) 后跟
(this % val) 的两个 BigInteger 的数组
⑧BigInteger pow(int exponent):返回其值为 (this^exponent) 的 BigInteger



BigDecimal类

一般的Float类和Double类可以用来做科学计算或工程计算,但在商业计算中,要求数字精度比较高,故用到java.math.BigDecimal类。BigDecimal类支持不可变的、任意精度的有符号十进制定点数。

构造器:
①public BigDecimal(double val)
②public BigDecimal(String val)

常用方法:
①BigDecimal add(BigDecimal augend)
②BigDecimal subtract(BigDecimal subtrahend)
③BigDecimal multiply(BigDecimal multiplicand)
④BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)

import java.math.BigDecimal;
import java.math.BigInteger;public class BigDecimalTest {public static void main(String[] args) {BigInteger bi = new BigInteger("12433241333123");BigDecimal bd = new BigDecimal("1241135.351");BigDecimal bd2 = new BigDecimal("1335231");System.out.println(bi);System.out.println(bd.divide(bd2, BigDecimal.ROUND_HALF_UP));System.out.println(bd.divide(bd2, 15, BigDecimal.ROUND_HALF_UP));}
}

Java常用类(5)--不可变的任意精度BigInteger、BigDecimal类相关推荐

  1. 返回值 包装类_(九)Java常用类

    (九)Java常用类 String类 概述 /*String:字符串,使用一对""来表示. * 1.String声明为final,不能被继承. * 2.String实现了Seria ...

  2. Java常用类全面解析(含部分源码)

    常用类 文章目录 常用类 字符串相关的类 String 类 说明 案例 String 的实例方式 String 中的常用方法 案例一 案例二 案例三 String 类与其它结构之间的转换 小复习-与基 ...

  3. Java高级--Java常用类

    Java常用类 字符串相关的类 String String的实例化方式 String常用方法 String与字符数组转换 字符数组--->字符串 字符串--->字符数组 String与字节 ...

  4. JavaEE基础第9章Java常用类

    第9章Java常用类 字面量的定义方式都是存在常量池中的,常量池中不会存储多个一样的字符串,在定义一个字符串的时候会先去常量池中找有没有存在的,有就将地址传过去,没有就新建. String字符串 概念 ...

  5. Java基础-->一篇讲全Java常用类(详细易懂,建议收藏)

    Java基础–>一篇讲全Java常用类(详细易懂,建议收藏) 文章目录 Java基础-->一篇讲全Java常用类(详细易懂,建议收藏) 1.字符串相关的类 String类 概述 创建Str ...

  6. JAVA第七课:Eclipse常见使用与Java常用类

    1. eclipse常见使用 1:基本使用A:选择一个工作空间D:\develop\eclipse-SDK-3.7.2-win64\workspaceB:如何写一个HelloWorld案例(代码以项目 ...

  7. JAVA常用类之比较器、System、BigInteger

    本文目录 JAVA常用类 Java比较器 `Comparable`接口 定制排序`java.util.Comparator` System类 BigInteger与BigDecimal JAVA常用类 ...

  8. Java常用类学习笔记

    Date类 Date类是在Java中获取日期时间最简单的一个类,可以通过直接实例化对象的方式获得当前的日期时间.得到的日期时间是国外的格式.Date类没有什么特殊的用法,就是简单的获取当前的日期时间. ...

  9. Java36——Java常用类之其他相关类

    1.System类 System类代表系统,系统级的很多属性和控制方法都放置在该类的内部.该类位于java.lang包. 由于该类的构造器是private的,所以无法创建该类的对象,也就是无法实例化该 ...

最新文章

  1. 2015最流行的Android组件、工具、框架大全
  2. Tiny4412开发板 LED灯的控制
  3. 【移动开发】Android应用开发者应该知道的东西
  4. 天池 在线编程 到达终点
  5. mysql cmd 实时监控_MySQL实时监控工具orztop的使用介绍
  6. maven工程打包老是报错_maven工程pom文件老是报错
  7. Delphi 与 DirectX 之 DelphiX(80): TDIB.BlendPixel();
  8. Python Socket编程初探
  9. Python 2.x vs Python 3.x(四)—— TypeError: unhashable type
  10. Stanford机器学习---第4讲. 神经网络的表示 Neural Networks representation
  11. 从B树、B+树、B*树谈到R树
  12. java删除文件夹或文件
  13. Jira与敏捷项目管理
  14. 网页服务器阿帕奇怎么启动服务,阿帕奇服务器使用教程
  15. chrome 代理设置
  16. Ceph 故障排查笔记 | 万字经验总结
  17. 华为大佬:做一个快乐的程序员
  18. LPC1768的iic通讯
  19. IE6双倍边距问题及其解决方法
  20. 年轻人不讲武德,不好好上班,用HaaS监控“老板来了”

热门文章

  1. Eclipse对类固醇的重构
  2. 并发模式:生产者和消费者
  3. 15分钟内开始使用Amazon Web Services和全自动资源调配
  4. Java并发教程–阻塞队列
  5. 改善Java应用程序性能的快速技巧
  6. Spring 3.1缓存抽象教程
  7. Linux命令之 mkfs -- 在特定的分区创建 Linux 文件系统
  8. HH SaaS电商系统的商城模块设计
  9. 3l如何使用_慢阻肺患者如何选购呼吸机和制氧机,需要注意哪些?
  10. python计算方位角_实例讲解:用python 计算方位角(根据两点的坐标计算)记得收藏哦...