文章目录
- 一、各类型取值范围
一、各类型取值范围
以下整理java中常用的数值类型取值范围。
类型 | 字节大小 | 最小值 | 最大值 | 取值范围 |
---|---|---|---|---|
byte | 8bit | -128 | +127 | -128到127 |
short | 16bit | -2 15 ^{15} 15 | +2 15 ^{15} 15-1 | -32768-32767 |
int | 32bit | -2 31 ^{31} 31 | +2 31 ^{31} 31 -1 | -2,147,483,648 到 2,147,483,647 |
float | 32 | 1.4E-45 (2的-149次方) | 3.4028235E38 (2的128次方-1) | 精度为6~7位有效数字 |
double | 64 | 4.9E-324 (2的-1074次方) | 1.7976931348623157E308 (2的1024次方-1) | 精度为15~16位。 |
long | 64 | -2 63 ^{63} 63 | +2 63 ^{63} 63 -1 | -9223372036854775808~9223372036854775807 |
这里特别要提出出的两种类型:
Java中有两个类BigInteger
和BigDecimal
分别表示大整数类
和大浮点数
类。
这两个类都在java.math.*
包中,因此每次必须在开头处引用该包。
BigInteger
任意大的整数,其取值范围在负无穷到正无穷之间
,原则上是,只要你的计算机的内存足够大,可以有无限位的, 当数值超过long之后就要用BigInteger进行处理了
BigDecimal
任意大的实数,可以处理小数精度问题。