BigInteger类
* A:BigInteger的概述
* 可以让超过Integer范围内的数据进行运算
* B:构造方法
* public BigInteger(String val)
* C:成员方法
* 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)
1 package com.miao.lianxi; 2 3 import java.math.BigInteger; 4 5 public class Demo4_BigInteger { 6 7 public static void main(String[] args) { 8 //long num = 123456789098765432123L; 9 //String s = "123456789098765432123"; 10 11 BigInteger bi1 = new BigInteger("100"); 12 BigInteger bi2 = new BigInteger("2"); 13 14 System.out.println(bi1.add(bi2)); //+ 15 System.out.println(bi1.subtract(bi2)); //- 16 System.out.println(bi1.multiply(bi2)); //* 17 System.out.println(bi1.divide(bi2)); ///(除) 18 19 BigInteger[] arr = bi1.divideAndRemainder(bi2); //取除数和余数 20 21 for (int i = 0; i < arr.length; i++) { 22 System.out.println(arr[i]); 23 } 24 } 25 26 }
BigDecimal类
* A:BigDecimal的概述
* 由于在运算的时候,float类型和double很容易丢失精度,演示案例。
* 所以,为了能精确的表示、计算浮点数,Java提供了BigDecimal
* 不可变的、任意精度的有符号十进制数。
* B:构造方法
* public BigDecimal(String val)
* C:成员方法
* public BigDecimal add(BigDecimal augend)
* public BigDecimal subtract(BigDecimal subtrahend)
* public BigDecimal multiply(BigDecimal multiplicand)
* public BigDecimal divide(BigDecimal divisor)
* D:案例演示
* BigDecimal类的构造方法和成员方法使用
package com.miao.lianxi; import java.math.BigDecimal; public class Demo5_BigDecimal { public static void main(String[] args) { //System.out.println(2.0 - 1.1); /*BigDecimal bd1 = new BigDecimal(2.0); //这种方式在开发中不推荐,因为不够精确 BigDecimal bd2 = new BigDecimal(1.1); System.out.println(bd1.subtract(bd2));*/ /*BigDecimal bd1 = new BigDecimal("2.0"); //通过构造中传入字符串的方式,开发时推荐 BigDecimal bd2 = new BigDecimal("1.1"); System.out.println(bd1.subtract(bd2));*/ BigDecimal bd1 = BigDecimal.valueOf(2.0); //这种方式在开发中也是推荐的 BigDecimal bd2 = BigDecimal.valueOf(1.1); System.out.println(bd1.subtract(bd2)); } }