BigInteger类
- 一、前言
- 二、概述
- 1.API帮助文档
- 2.使用方法
- 三、常见方法
- 1.构造方法
- 1️⃣格式
- 2️⃣实例
- 2.成员方法
- 1️⃣格式
- 2️⃣实例
- 四、注意事项
- 五、结语
一、前言
平时在存储整数的时候,Java中默认是int类型,int类型有取值范围:-2147483648 ~ 2147483647。如果数字过大,我们可以使用long类型,但是如果long类型也表示不下的时候就需要用到BigInteger类来解决
二、概述
1.API帮助文档
BigInteger所在包是在java.math包下,因此在使用的时候就需要进行导包。我们可以使用BigInteger类进行大整数的计算
2.使用方法
导包后才能使用
三、常见方法
1.构造方法
1️⃣格式
构造方法这里列举出来三个比较常用的方法,并在下面给出实例以及输出结果便于理解,建议各位小伙伴还是自己敲一遍代码加深印象
1
2
3
4public BigInteger(int num, Random rnd) //获取随机大整数,范围:[0 ~ 2的num次方-1] public BigInteger(String val) //获取指定的大整数 public BigInteger(String val, int radix) //获取指定进制的大整数
2️⃣实例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25import java.math.BigInteger; import java.util.Random; public class TestBigInteger { public static void main(String[] args) { //获取随机大整数 Random r=new Random(); for (int i = 0; i < 5; i++) { BigInteger bd1 = new BigInteger(4,r); System.out.println(bd1); } System.out.println("----------此处为分割线----------"); //获取指定的大整数 BigInteger bd2 = new BigInteger("345678998345623567256780435093457001561080748"); System.out.println(bd2); System.out.println("----------此处为分割线----------"); //获取指定进制的大整数 BigInteger bd3 = new BigInteger("1101010110",2); System.out.println(bd3); } }
输出结果
14
13
5
7
10
11
3
11
2
11
----------此处为分割线----------
345678998345623567256780435093457001561080748
----------此处为分割线----------
854
2.成员方法
1️⃣格式
1
2
3
4
5
6
7
8
9
10public BigInteger add(BigInteger val) //加法 public BigInteger subtract(BigInteger val) //减法 public BigInteger multiply(BigInteger val) //乘法 public BigInteger divide(BigInteger val) //除法 public BigInteger[] divideAndRemainder(BigInteger val) //除法,获取商和余数 public boolean equals(Object x) //比较是否相同 public BigInteger pow(int exponent) //次幂、次方 public BigInteger max/min(BigInteger val) //返回较大值/较小值 public int intValue(BigInteger val) //转为int类型整数,超出范围数据有误
2️⃣实例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34import java.math.BigInteger; import java.util.Random; public class TestBigInteger { public static void main(String[] args) { BigInteger bd1 = BigInteger.valueOf(10); BigInteger bd2 = BigInteger.valueOf(5); //2.加法 BigInteger bd3 = bd1.add(bd2); System.out.println(bd3); //3.除法,获取商和余数 BigInteger[] arr = bd1.divideAndRemainder(bd2); System.out.println(arr[0]); System.out.println(arr[1]); //4.比较是否相同 boolean result = bd1.equals(bd2); System.out.println(result); //5.次幂 BigInteger bd4 = bd1.pow(2); System.out.println(bd4); //6.max BigInteger bd5 = bd1.max(bd2); BigInteger bd6 = BigInteger.valueOf(200); double v = bd6.doubleValue(); System.out.println(v);//200.0 } }
输出结果
15
2
0
false
100
200.0
四、注意事项
-
如果BigInteger表示的数字没有超出long的范围,可以用静态方法获取
-
如果BigInteger表示的超出long的范围,可以用构造方法获取
-
对象一旦创建,BigInteger内部记录的值不能发生改变
-
只要进行计算都会产生一个新的BigInteger对象
五、结语
接下来会讲述BigDecimal类
最后
以上就是怡然蜜蜂最近收集整理的关于Java中常用API总结(6)——BigInteger类一、前言二、概述三、常见方法四、注意事项五、结语的全部内容,更多相关Java中常用API总结(6)——BigInteger类一、前言二、概述三、常见方法四、注意事项五、结语内容请搜索靠谱客的其他文章。
发表评论 取消回复