BigInteger概述
BigInteger是Number的子类。
BigInteger提供了所有Java的原始整数运算符和java.lang.Math中所有相关方法的类比。
此外,BigInteger还提供了模数运算,GCD计算,原始测试,初级生成,位操作以及其他一些其他操作的操作。
常用的构造方法:
BigInteger(byte[] val)
将包含BigInteger的二进制补码二进制表达式的字节数组转换为BigInteger。
BigInteger(String val)
将BigInteger的十进制字符串表示形式转换为BigInteger。
BigInteger(String val, int radix)
将指定基数中的BigInteger的String表示形式转换为BigInteger。
高频方法
BigInteger abs()
返回一个BigInteger,它的值是此BigInteger的绝对值。
BigInteger add(BigInteger val)
返回值为 (this + val) 。
BigInteger subtract(BigInteger val)
返回值为 (this - val) 。
BigInteger multiply(BigInteger val)
返回值为 (this * val) 。
BigInteger divide(BigInteger val)
返回值为 (this / val) 。
BigInteger remainder(BigInteger val)
返回值为 (this % val) 。
例子:
使用BigInteger计算1到100的阶乘和
import java.math.BigInteger;
public class Demo {
public static void main(String[] args) {
BigInteger bi1 = new BigInteger("1"); //累乘变量
BigInteger bi2 = new BigInteger("0"); //累加变量
for (int i = 1; i <= 100 ; i++) {
bi1 = bi1.multiply(new BigInteger(i+"")); //注意构造方法中类型匹配,参数不能为int
bi2 = bi2.add(bi1);
}
System.out.println("1到100的阶乘和:"+bi2.toString()); //BigInteger为引用类型,打印时调用toString()
}
}