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)

类型存储需求取值范围
int4字节-2,147,483,648(-2^31)~2,147,483,647(2^31 – 1)
short2字节-32768(-2^15)~32767(2^15 – 1)
long8字节-9,223,372,036,854,775,808(-2^63)~9,223,372,036,854,775,807(2^63 -1)
byte1字节-128(-2^7)~127(2^7-1)
char2字节Unicode字符集,从‘\u0000’到’\uffff’的闭区间,即从0到65535。

2.浮点类型(FloatingPoint)

类型存储需求取值范围
float4字节大约±3.402 823 47E+38F(有效位数为6~7位)
double8字节大约±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,具体取决于数据类型。但是,通常认为依赖于此类默认值是不好的编程风格。

下表总结了上述数据类型的默认值:

数据类型默认值
byte0
short0
int0
long0L
float0.0f
double0.0d
char‘\u0000’
String (或 任何对象)  null
booleanfalse

局部变量略有不同。编译器永远不会为未初始化的局部变量分配默认值。如果无法在声明它的地方初始化局部变量,请确保在尝试使用它之前为其分配一个值,访问未初始化的局部变量将导致编译时错误。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/java/javabasic/2473.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注