Java中,BigInteger类可以表示long型都无法表示的整型数据。大数类BigInteger不是基本数据类型,对于大数据的操作都是通过字符串来,因此不能用整型的"+"、"-"、"*"、"/"来简单计算,他有自己运算方法。
使用大数类来操作数据前,需要先通过构造器创建一个BigInteger 对象。
BigInteger构造器
查看关于BigInteger的Java API
BigInteger构造器
valueOf
public static BigInteger valueOf(long val)
返回一个BigInteger,其值等于指定long的值。
BigInteger a=new BigInteger("666666666666666666666");
BigInteger b=BigInteger.valueOf(3);
得到大数类对象之后就可以进行运算。
大数类四则运算
大数加法
add
public BigInteger add(BigInteger val)
与整数的加法一样 不过返回值是BigInteger
a.add(b) //a加b
大数减法
subtract
public BigInteger subtract(BigInteger val)
与整数的减法一样 不过返回值是BigInteger
a.subtract(b) //a减b
大数乘法
multiply
public BigInteger multiply(BigInteger val)
与整数的乘法一样 不过返回值是BigInteger
a.multiply(b) //a乘以b
大数除法
divide
public BigInteger divide(BigInteger val)
与整数除法一样 不过返回值是BigInteger
另外还要注意处理除数为零的异常
ArithmeticException - if val is zero.
其他常用方法
pow
public BigInteger pow(int exponent)
返回当前大整数的exponent次方
abs
abs
public BigInteger abs()
返回当前大整数的绝对值
toString
public String toString()
将当前大整数转换成十进制的字符串形式
示例:
package 大数类常用方法;
import java.math.BigInteger;
/**
* @author JohnnyLin
* @version Creation Time:2020年6月12日 下午9:44:39
*/
public class BigInteger的常用方法 {
public static void main(String[] args) {
BigInteger a=new BigInteger("666666666666666666666");
BigInteger b=BigInteger.valueOf(3);
System.out.println(a.add(b)); //加法 666666666666666666669
System.out.println(a.subtract(b) );//减法 666666666666666666663
System.out.println(a.multiply(b));//乘法 1999999999999999999998
System.out.println(a.divide(b));//除法 222222222222222222222
System.out.println(b.pow(5)); //b的五次方 243
System.out.println(b.subtract(a).abs());//b-a的绝对值 666666666666666666663
String s=b.toString(); //将b转为字符串类型
System.out.println(s); //3
}
}