如果操作的时候,一个整数数据已经超过了整数的最大类型长度long的话,则此数据就无法装入,所以,此时要使用BigInteger类进行操作

导包:import java.math

方法列表:

描述
BigInteger(String val) 将一个字符串变为BigInteger类型
add(BigInterger val) 加法
subtract(BigInterger val) 减法
multiply(BigInteger val) 乘法
divide(BigInteger val) 除法
mod(BigInteger val) 取余
max(BigInteger val) 返回两个大数字的最大值
min(BigInteger val) 返回两个大数字的最小值
Biginteger[] divideAndRemainder(BigInteger val) 除法操作,数组的第一个元素作为除法的商,第二个元素作为除法的余数
bool compareTo(BigInter other)  判断是否相等

测试:

public class Demo {public static void main(String[] args) {String s1="123456781230123";String s2="987654321234567";BigInteger num1=new BigInteger(s1);BigInteger num2=new BigInteger(s2);System.out.println(num1.add(num2));//1111111102464690System.out.println(num1.subtract(num2));//-864197540004444System.out.println(num1.multiply(num2));//121932623467641563114289261741System.out.println(num2.divideAndRemainder(num1)[0]);//8System.out.println(num2.divideAndRemainder(num1)[1]);//71393583}
}

BigDecimal:

构造器描述 
BigDecimal(int)       创建一个具有参数所指定整数值的对象。 
BigDecimal(double) 创建一个具有参数所指定双精度值的对象。 //不推荐使用
BigDecimal(long)    创建一个具有参数所指定长整数值的对象。 
BigDecimal(String) 创建一个具有参数所指定以字符串表示的数值的对象。//推荐使用

方法描述 
add(BigDecimal)        BigDecimal对象中的值相加,然后返回这个对象。 
subtract(BigDecimal) BigDecimal对象中的值相减,然后返回这个对象。 
multiply(BigDecimal)  BigDecimal对象中的值相乘,然后返回这个对象。 
divide(BigDecimal)     BigDecimal对象中的值相除,然后返回这个对象。 
toString()                将BigDecimal对象的数值转换成字符串。 
doubleValue()          将BigDecimal对象中的值以双精度数返回。 
floatValue()             将BigDecimal对象中的值以单精度数返回。 
longValue()             将BigDecimal对象中的值以长整数返回。 
intValue()               将BigDecimal对象中的值以整数返回。

【java笔记】大数操作(BigIntegerBigDecimal)相关推荐

  1. Java笔记——文件操作I/O 02

    目录 File类常见方法总结​编辑 相对路径 ​编辑 关于 内容 的读写 1.关于读 处理文本数据(字符数据) ​编辑 查表法 小知识:终止 scanner.hasNext() 永久停止 写Outpu ...

  2. Java笔记——文件操作I/O 01

    目录 认识文件 计算机的存储常识 硬盘的实现 Hard Disk Drive HDD 硬盘数据的读写->文件的读写问题 关于文件的路径 如何描述路径 在代码的字符串中如何表示这个路径 路径表示中 ...

  3. JAVA笔记-常用操作

    一.使用String.format()格式化字符串 1:介绍         String类的format()方法用来创建格式化的字符串或者连接多个字符串对象     2:使用         Str ...

  4. 【连载】Java笔记——欲品香醇先度根叶

    我是灼灼,一只初学Java的大一金渐层. 向往余秀华和狄兰·托马斯的疯狂,时常沉溺于将情感以诗相寄:追逐过王尔德.王小波的文字,后陷于毛姆和斯蒂芬·金不可自拔:热爱文学的浪潮,白日梦到底却总在现实里清 ...

  5. 【连载】Java笔记——是了解咖啡小可爱的第一周呢

    我是灼灼,一只初学Java的大一金渐层. 向往余秀华和狄兰·托马斯的疯狂,时常沉溺于将情感以诗相寄:追逐过王尔德.王小波的文字,后陷于毛姆和斯蒂芬·金不可自拔:热爱文学的浪潮,白日梦到底却总在现实里清 ...

  6. java笔记1/3 (B站hsp学java)

    JAVA基础 文章目录 JAVA基础 变量 整形(INT) 浮点型(float/double) 字符型(char) 布尔类型(boolean) 基础数据类型的转换 自动类型转换 强制类型转换 重载 可 ...

  7. 11.3-全栈Java笔记:线程的生命周期

    一个线程对象在它的生命周期内,需要经历5个状态. 新生状态(New) 用new关键字建立一个线程对象后,该线程对象就处于新生状态.处于新生状态的线程有自己的内存空间,通过调用start方法进入就绪状态 ...

  8. 10.4-全栈Java笔记:常用流详解(二)

    上节我们讲到「Java中常用流:文件字节流和字节数组流」,本节我们继续走起~  缓冲流 BufferedInputStream和BufferedOutputStream这两个流是处理流,通过内部缓存数 ...

  9. java中大数开方_Java中的大数运算

    # 一:大数运算出现的背景 java里面整型int与浮点型float,double它们存放数据的范围是有限的,当出行更大的数值时会发生溢出. 最典型的场景是金融行业,直接使用单精度或者双精浮点数来表示 ...

  10. java笔记(3):String(2)

    java笔记(3):String(2) 参考资料:网易云网课李兴华:http://study.163.com/course/courseMain.htm?courseId=1455026 一.字符串一 ...

最新文章

  1. 洛谷P1852:跳跳棋(LCA,树形结构)
  2. 使用AvalonDock制作WPF多标签浏览器(一)
  3. jaccard相似度_推荐系统中常用计算相似度的方法和工具
  4. data()中的数据可以直接操作
  5. Ubuntu设置终端相对短路径
  6. 员工入职是一连串事件(转)
  7. android提交sql语句,Android实现创建或升级数据库时执行语句
  8. 网络安全实验4 SQL注入攻击
  9. 如何玩转抖音吸粉引流,老路子新热点照样1000+
  10. String 与 char* 相互转换
  11. Visual SourceSafe Explorer界面出现乱码+字体翻转
  12. android虚拟按键
  13. 企业邮箱续费多少钱一年?企业邮箱域名到期如何续费?
  14. python cookies是什么_Python获取cookie有什么用
  15. MATLAB画旋转曲面1
  16. 科研论文如何讲好“故事”
  17. 各领域机器学习数据集汇总(附下载地址)
  18. vue 水印插件 插件:directives.js
  19. WiFi_Display_Spec
  20. 大数据技术之Hadoop(快速入门)

热门文章

  1. pager-taglib 使用说明
  2. [转载]Android系统上(mv不可用)cp命令的替代方法
  3. HDU2012 素数判定【入门】
  4. UVA10424 Love Calculator【水题】
  5. ACM程序设计基础(2)题解
  6. π-Algorithmist分类题目(2)
  7. 51Nod-1004 n^n的末位数字【快速模幂】
  8. POJ3617 Best Cow Line【水题】
  9. Binary GCD algorithm
  10. 学习之法 —— 概念、名词、术语与定义的学习