Java八大基本数据类型可以理解为一种特例,它不需要通过new关键字来创建变量,而是创建一个并非是引用的“自动”变量。这个变量直接存储值,并置于堆栈中。
1.八大基本类型
基本数据类型 | 大小 | 最小值 | 最大值 | 包装器类型 | 默认值 |
---|---|---|---|---|---|
boolean | - | - | - | Boolean | false |
char | 16-bit | Unicode 0 | Unicode 2^16-1 | Character | ‘\uoooo’(null) |
byte | 8 bits | -128 | +127 | Byte | (byte)0 |
short | 16 bits | -2^15 (-32768) | +2^15-1 (+32767) | Short | (short)0 |
int | 32 bits | -2^32 | +2^32-1 | Integer | 0 |
long | 64 bits | -2^64 | +2^64-1 | Long | 0L |
float | 32 bits | IEEE 754 | IEEE 754 | Float | 0.0f |
double | 64 bits | IEEE 754 | IEEE 754 | Double | 0.0d |
注:浮点数字面量默认为double类型,使用float类型的浮点数一定要加后缀 f或 F
类型转化
1)自动转化(扩展转化):byte–>short–>int–>long–>float–>double
2)窄化转化:可能会导致数据丢失
2.高精度数据类型
Java提供了俩个用于高精度计算的类:BigInteger 和 BigDecimal。
1)BigInteger支持任意精度的整数
2)BigDecimal支持任意精度的定点数,可以用于精确的货币计算