2.4Java语言的数据类型(Types)和值(Values)
目录
Java是一种静态强类型语言,分为8种原始数据类型(primitive types)和3种引用数据类型(reference types),其中原始数据类型包含5种整数类型、2种浮点类型、1种表示真假值的boolean类型,引用数据类型包含 类 类型(class types)、接口类型(interface types)、数组类型(array types)。另外,还包括了一个特殊的空类型(null type)。
原始数据类型(primitive types)
1.整数类型(Integral)
类型 | 存储需求 | 取值范围 |
int | 4字节 | -2,147,483,648(-2^31)~2,147,483,647(2^31 – 1) |
short | 2字节 | -32768(-2^15)~32767(2^15 – 1) |
long | 8字节 | -9,223,372,036,854,775,808(-2^63)~9,223,372,036,854,775,807(2^63 -1) |
byte | 1字节 | -128(-2^7)~127(2^7-1) |
char | 2字节 | Unicode字符集,从‘\u0000’到’\uffff’的闭区间,即从0到65535。 |
2.浮点类型(FloatingPoint)
类型 | 存储需求 | 取值范围 |
float | 4字节 | 大约±3.402 823 47E+38F(有效位数为6~7位) |
double | 8字节 | 大约±1.797 693 134 862 315 70E+308 (有效位数为15位) |
三个特殊的浮点数值:
- 正无穷大
- 负无穷大
- NaN(不是一个数字)
3.布尔类型(Boolean)
boolean类型有两个值:false和true,用来判断真假。
引用数据类型(reference types)
4. 类 类型(ClassType)
5.接口类型(InterfaceType)
6.数组类型(ArrayType)
数据默认值
声明字段时,不一定总是需要分配值。编译器会将已声明但未初始化的字段设置为合理的默认值。一般来说,此默认值为0或null
,具体取决于数据类型。但是,通常认为依赖于此类默认值是不好的编程风格。
下表总结了上述数据类型的默认值:
数据类型 | 默认值 |
---|---|
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0d |
char | ‘\u0000’ |
String (或 任何对象) | null |
boolean | false |
局部变量略有不同。编译器永远不会为未初始化的局部变量分配默认值。如果无法在声明它的地方初始化局部变量,请确保在尝试使用它之前为其分配一个值,访问未初始化的局部变量将导致编译时错误。
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/java/javabasic/2473.html