package com.newedu.jb.day16.api;
import java.math.BigDecimal;
/**
* BigDecimal
* 为了计算精准的小数的时候,使用
*
* 结论:
* 在工作中,特殊是 与金钱有关的计算时,一定使用BigDecimal。
*
* 构造方法:
* public BigDecimal(String val)
* @author jerry
*
*/
public class BigDecimalDemo {
public static void main(String[] args) {
System.out.println(0.09 + 0.01);//0.1
System.out.println(1.0 - 0.32);//0.68
System.out.println(1.015 * 100);//101.5
System.out.println(1.301 / 100);//0.001301
System.out.println("=====================");
BigDecimal bd1 = new BigDecimal("0.09");
BigDecimal bd2 = new BigDecimal("0.01");
System.out.println(bd1.add(bd2));
BigDecimal bd3 = new BigDecimal("1.0");
BigDecimal bd4 = new BigDecimal("0.32");
System.out.println(bd3.subtract(bd4));
BigDecimal bd5 = new BigDecimal("1.015");
BigDecimal bd6 = new BigDecimal("100");
System.out.println(bd5.multiply(bd6));
BigDecimal bd7 = new BigDecimal("1.301");
BigDecimal bd8 = new BigDecimal("100");
System.out.println(bd7.divide(bd8));
}
}
2,
package com.newedu.jb.day16.api;
import java.math.BigInteger;
import java.util.Arrays;
/**
* BigInteger
* 大整型
*
* 构造方法:
* BigInteger(String val) : 由一个字符串表示形式的十进制数
* 来产生一个BigInteger() 对象
*
*
* @author jerry
*
*/
public class BigIntegerDemo {
public static void main(String[] args) {
// System.out.println(Integer.MAX_VALUE);
//The literal 2147483648 of type int is out of range
// Integer i1 = new Integer(2147483648);
//
// System.out.println(i1);
BigInteger i2 = new BigInteger("2147483648");
System.out.println(i2);
// BigInteger 的四则运算
// int i1=10,i2=20; i1+i2 ;
// BigInteger 中,不能直接使用+ - * / 运算符,而只能使用方法调用
// i2 = i2 +10;
BigInteger i3 = new BigInteger("10");
i2 = i2.add(i3);
// BigInteger 的四则运算,对原有的数值,没有产生影响
System.out.println(i2.add(i3));
System.out.println(i2);
// add(),subtract(), multiply(),divide(),mod()
BigInteger i4 = new BigInteger("100");
BigInteger i5 = new BigInteger("3");
BigInteger[] divideAndRemainder = i4.divideAndRemainder(i5);
System.out.println(Arrays.toString(divideAndRemainder));
}
// 只能返回一个 数据类型的值
public static int method1(){
return 0;
}
//返回的多个值,但是是同一种类型
public static int[] method2(){
return new int[]{1,2,3};
}
//返回多个类型的值,并且不是同一中类型,需要使用自定义类型
public static MyReturnType method3(){
MyReturnType myReturnType =
new MyReturnType(10,new BigInteger("100"));
return myReturnType;
}
}
import java.math.BigDecimal;
/**
* BigDecimal
* 为了计算精准的小数的时候,使用
*
* 结论:
* 在工作中,特殊是 与金钱有关的计算时,一定使用BigDecimal。
*
* 构造方法:
* public BigDecimal(String val)
* @author jerry
*
*/
public class BigDecimalDemo {
public static void main(String[] args) {
System.out.println(0.09 + 0.01);//0.1
System.out.println(1.0 - 0.32);//0.68
System.out.println(1.015 * 100);//101.5
System.out.println(1.301 / 100);//0.001301
System.out.println("=====================");
BigDecimal bd1 = new BigDecimal("0.09");
BigDecimal bd2 = new BigDecimal("0.01");
System.out.println(bd1.add(bd2));
BigDecimal bd3 = new BigDecimal("1.0");
BigDecimal bd4 = new BigDecimal("0.32");
System.out.println(bd3.subtract(bd4));
BigDecimal bd5 = new BigDecimal("1.015");
BigDecimal bd6 = new BigDecimal("100");
System.out.println(bd5.multiply(bd6));
BigDecimal bd7 = new BigDecimal("1.301");
BigDecimal bd8 = new BigDecimal("100");
System.out.println(bd7.divide(bd8));
}
}
2,
package com.newedu.jb.day16.api;
import java.math.BigInteger;
import java.util.Arrays;
/**
* BigInteger
* 大整型
*
* 构造方法:
* BigInteger(String val) : 由一个字符串表示形式的十进制数
* 来产生一个BigInteger() 对象
*
*
* @author jerry
*
*/
public class BigIntegerDemo {
public static void main(String[] args) {
// System.out.println(Integer.MAX_VALUE);
//The literal 2147483648 of type int is out of range
// Integer i1 = new Integer(2147483648);
//
// System.out.println(i1);
BigInteger i2 = new BigInteger("2147483648");
System.out.println(i2);
// BigInteger 的四则运算
// int i1=10,i2=20; i1+i2 ;
// BigInteger 中,不能直接使用+ - * / 运算符,而只能使用方法调用
// i2 = i2 +10;
BigInteger i3 = new BigInteger("10");
i2 = i2.add(i3);
// BigInteger 的四则运算,对原有的数值,没有产生影响
System.out.println(i2.add(i3));
System.out.println(i2);
// add(),subtract(), multiply(),divide(),mod()
BigInteger i4 = new BigInteger("100");
BigInteger i5 = new BigInteger("3");
BigInteger[] divideAndRemainder = i4.divideAndRemainder(i5);
System.out.println(Arrays.toString(divideAndRemainder));
}
// 只能返回一个 数据类型的值
public static int method1(){
return 0;
}
//返回的多个值,但是是同一种类型
public static int[] method2(){
return new int[]{1,2,3};
}
//返回多个类型的值,并且不是同一中类型,需要使用自定义类型
public static MyReturnType method3(){
MyReturnType myReturnType =
new MyReturnType(10,new BigInteger("100"));
return myReturnType;
}
}