BigInteger简介
BigInteger 类是针对整型大数字的处理类,用于高精度计算,也就是说在运算中 BigInteger 类型可以准确地表示任何大小的整数值。
为什么要用BigInteger?
在 Java中有许多数字处理的类,比如:Integer类,但是Integer类有一定的局限性,int 的最大值为 2^31-1。
如果我们要描述更大的整数数据,Integer 数据类型就无法实现了,所以Java中提供了BigInteger 类。
BigInteger常见方法
BigInteger除了基本的加、减、乘、除操作之外,BigInteger 类还封装了很多操作:像求绝对值、相反数、最大公约、判断是否为质数等。
BigInteger常见的方法如下所示:
BigInteger用法示例
用户输入的数字作为 BigInteger 对象,然后调用该对象的各种方法实现,比如:加、减、乘、除、其他运算,并输出结果,具体实现代码如下:
import java.math.BigInteger; import java.util.Scanner; public class Test09 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入一个整型数字:"); /**保存用户输入的数字**/ int num = input.nextInt(); /**使用输入的数字创建BigInteger对象**/ BigInteger bi = new BigInteger(num + ""); /**1:计算大数字加上99的结果**/ System.out.println("加法操作结果:" + bi.add(new BigInteger("99"))); /**2:计算大数字减去25的结果**/ System.out.println("减法操作结果:" + bi.subtract(new BigInteger("25"))); /**3:计算大数字乘以3的结果**/ System.out.println("乘法橾作结果:" + bi.multiply(new BigInteger("3"))); /**4:计算大数字除以2的结果**/ System.out.println("除法操作结果:" + bi.divide(new BigInteger("2"))); /**5:计算大数字除以3的商**/ System.out.println("取商操作结果:" + bi.divideAndRemainder(new BigInteger("3"))[0]); /**6:计算大数字除以3的余数**/ System.out.println("取余操作结果:" + bi.divideAndRemainder(new BigInteger("3"))[1]); /**7:计算大数字的2次方**/ System.out.println("取 2 次方操作结果:" + bi.pow(2)); /**8:计算大数字的相反数**/ System.out.println("取相反数操作结果:" + bi.negate()); } }
运行结果如下:
陈睿mikechen
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》