基本数据类型与高精度数字

基本数据类型与高精度数字

基本数据类型

基本类型 大小 最小值 最大值 默认值 封装类型
char 16-bit Unicode 0 U n i c o d e 2 16 1 Unicode2^{16}-1 ‘\u0000’(null) Character
byte 8 bits -128 +127 (byte)0 Byte
short 16 bits 2 15 -2^{15} U n i c o d e 2 15 1 Unicode2^{15}-1 (short)0 Short
int 32 bits 2 31 -2^{31} U n i c o d e 2 31 1 Unicode2^{31}-1 0 Integer
long 64 bits 2 63 -2^{63} U n i c o d e 2 16 1 Unicode2^{16}-1 0L Long
float 32 bits IEEE754 IEEE754 0.0f Float
double 64 bits IEEE754 IEEE754 0.0d Double
boolean false Boolean
void Void

如图:
在这里插入图片描述
在这里插入图片描述

高精度数字

Java提供了两个用于高精度计算的类: BigIntegerBigDecimal。虽然它们大体上属于“包装器类”的范畴,但二者都没有对应的基本类型。
不过,这两个类包含的方法、提供的操作与对基本类型所能执行的操作相似。也就是说,能作用于int或float的操作,也同样能作用于BigIntegerBigDecimal。只不过必须以方法调用方式取代运算符方式来实现。由于这样做复杂了许多,所以运算速度会比较慢。在这里,我们以速度换取了精度。

BigInteger支持任意精度的整数。也就是说,在运算中,可以准确的表示任何大小的整数值,而不会丢失任何信息
BigDecimal支持任何精度的定点数,例如,可以用它进行精确的货币计算。


1.本文来源《Java编程思想(第四版)》

猜你喜欢

转载自blog.csdn.net/csdn1428208016/article/details/83006159