常见对象(BigInteger的概述详解 新手教程)

常见对象(BigInteger的概述详解 新手教程)

需要导包,import java.util.BigInteger

BigInteger,为什么要说这个?
我们从他字面意思就知道Big(大),Integer(int),大的Int类型
这就说明是Integer的升级版,那Integer表示的数有多大呢

class test{
	public static void main(String[] args){
	System.out.println(Integer.MAX_VALUE);
	//输出结果:2147483647
	//这个就是Integer所能表示的最大数据
	//如果输出的数超过这个值会怎么样?
	Integer i = new Integer(2147483647);
	System.out.println(i);
	//输出结果为:2147483647
	Integer ii = new Integer(2147483648);
	System.out.println(ii);
	//这个就会报错,显示NumberFormatException
	}
}

所以,Intefer还是不够大,因此就需要更大的BigInteger来进行运算数据

BigInteger:可以让超过Integer范围的数据进行运算

构造方法:

	BigInteger(byte[] val) 
将包含 BigInteger 的二进制补码表示形式的 byte 数组转换为BigInteger。 

	BigInteger(int signum, byte[] magnitude) 
 将 BigInteger 的符号-数量表示形式转换为 BigInteger。 

	BigInteger(int bitLength, int certainty, Random rnd) 
 构造一个随机生成的正 BigInteger,它可能是一个具有指定 bitLength 的素数。 

	BigInteger(int numBits, Random rnd) 
构造一个随机生成的 BigInteger,它是在 0 到 (2numBits - 1)(包括)范围内均匀分布的值。 

	BigInteger(String val) 
将 BigInteger 的十进制字符串表示形式转换为 BigInteger。 

	BigInteger(String val, int radix) 
将指定基数的 BigInteger 的字符串表示形式转换为 BigInteger。 

其中重要的就是:

		BigInteger(String val) 
将 BigInteger 的十进制字符串表示形式转换为 BigInteger。
import java.math.BigInteger;
class test{
	public static void main(String[] args){
	BigInteger bi = new BigInteger("2147483648");
	System.out.println("bi:"+bi);
	//如果打印的是地址值,就证明没有重写,如果不是就说明重写了构造方法
	//输出结果为:bi:2147483648
	//证明重写了
	}
}

BigInteger的加,减,乘,除方法

  • public BigInteger add(BigInteger val):加
  • public BigInteger subtract(BigInteger val):减
  • public BigInteger multiply(BigInteger val):乘
  • public BigInteger divide(BigInteger val):除
  • public BigInteger[] divideAndRemainder(BigInteger val):返回商和余数的数组
import java.util.BigInteger;
class test{
	public static void main(String[] args){
	BigInteger bi1 = new BigInteger("10");
	BigInteger bi2 = new BigInteger("5");
	
	//public BigInteger add(BigInteger val)
	//返回其值为 (this + val) 的 BigInteger。
	//加法
	System.out.println("add:"+bi1.add(bi2));
	//输出结果为:add:15

	//public BigInteger subtract(BigInteger val):减
	//返回其值为 (this - val) 的 BigInteger
	//减法
	System.out.println("subtract:"+bi1.subtract(bi2));
	//输出结果为:subtract:5

	// public BigInteger multiply(BigInteger val):乘
	//返回其值为 (this * val) 的 BigInteger
	//乘法
	System.out.println("multiply:"+bi1.multiply(bi2));
	//输出结果为:multiply:50
	
	//public BigInteger divide(BigInteger val):除
	//返回其值为 (this / val) 的 BigInteger
	//除法
	System.out.println("divide:"+bi1.divide(bi2));
	//输出结果为:divide:2
	
	//public BigInteger[] divideAndRemainder(BigInteger val):
	//返回商和余数的数组,返回的是数组,所以要找个数组接收
	//返回包含 (this / val) 后跟 (this % val) 的两个 BigInteger 的数组
	//两个 BigInteger 的数组:商 (this / val) 是初始元素,余数 (this % val) 是最终元素。
	BigInteger[] big = bi1.divideAndRemainder(bi2);
	System.out.println("商:"+big[0]);
	System.out.println("余数:"+big[1]);
	//第一个输出结果为:商:2
	//第二个输出结果为:余数:0
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值