Java 中有两大数据类型,一是基本类型,二是引用类型。基本类型包括数值型,布尔型,字符型。下图展示了基本数据类型所包含的内容:
一、基本类型
1. 整数类型
| 类型 | 位宽 | 取值范围 | 默认值 |
|---|---|---|---|
| byte | 8 | -2^7 ~ 2^7 - 1 | 0 |
| short | 16 | -2^15 ~ 2^15 - 1 | 0 |
| int | 32 | -2^31 ~ 2^31 - 1 | 0 |
| long | 64 | -2^63 ~ 2^63 - 1 | 0L |
【注】整数类型的数在计算机中均以二进制补码的形式保存。
2. 浮点数类型
| 类型 | 位数(符合 IEEE 754标准) | 默认值 |
|---|---|---|
| float | 32 | 0.0f |
| double | 64 | 0.0d |
【注】浮点数不能用来表示精确的值,如货币等。
3. 字符类型
char 类型是一个单一的 16 位 Unicode 字符,因此 char 类型可以储存任何字符。
取值范围: \u0000 ~ \uffff (0 ~ 65,535)
4. 布尔类型
boolean 数据类型表示一位的信息,只有两个取值: true 和 false ,默认值是 false 。
二、引用类型
在 Java 中,引用类型的变量非常类似于 C/C++ 的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如 Employee、 Company 等。变量一旦声明后,类型就不能被改变了。
在 Java 中,对象、数组都是引用数据类型,所有引用类型的默认值都是 null,一个引用变量可以用来引用任何与之兼容的类型。
三、类型转换
整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。
1 | 低 -----------------------------------------> 高 |
由低向高转可以自动进行,但由高向低转必须要进行强制类型转换,方法为:(type)value type,如:
1 | int i = 123; |
输出结果为:
1 | 123 |
由此可见,强制类型转换可能会导致溢出或损失精度,因此要谨慎使用。








