在Java里面,整体上把数据类型分为了两大类:基本类型(primitive types) 8个 和 引用类型(reference types) 5个,我们先看完整分类图如下所示:
接下来壹哥会对基本类型和引用类型分别进行介绍。
1. 基本类型
基本类型 是Java中预定义的类型,有相应的保留关键字来表示,具有明确的取值范围和数学行为,表示了真实的数字、字符和整数。基本类型的数据都是单个值,而不是复杂的对象,所以基本类型并不是面向对象的,这主要是出于效率方面的考虑。但是同时Java中也为基本类型提供了对应的对象版本,即基本类型的包装类(wrapper)。我们可以直接使用这些基本类型,也可以使用基本类型的构造数组或者其他自定义类型。
基本类型 包括布尔(boolean)类型、数值类型(numeric types),数值类型又分为 整型(integer types) 和 浮点型(floating-point type)。整型有5种:byte、short、int、long、char(char本质上是一种特殊的int);浮点类型有float和double。所以基本数据类型分类如下:
byte、short、int、long、float(单精度)、double(双精度)、char、boolean
基本类型具体信息表:
2. 引用类型
引用类型(The value of reference types are references to objects)中的引用,一般是指某个对象的内存地址,其中对象是动态创建的类实例或者动态创建的数组,另外Java语言本身不支持C++中的结构体(struct) 或联合体(union) 等数据类型,这种复合数据类型一般都是通过类或接口进行构造。引用数据类型分类如下:
类、接口、数组、枚举、注解
3. 关于null值
另外还有一个特殊的值null,壹哥这里再给各位解释一下。null是一种特殊的type,但是你不能声明一个变量为null类型,null type的唯一取值就是null。null可以赋值给任意的引用类型或者转化成任意的引用类型。我们在开发时,一般是把null当做常量字面值,这个字面值可以赋值给任意的引用类型。
4. 基本类型与引用类型的区别
不论是基本数据类型还是引用类型,他们都会先在栈中分配一块内存。对于基本类型来说,这块内存区域中包含的是基本类型的具体数据内容;对于引用类型来说,这块内存区域中包含的是指向真正内容的指针,而真正的内容则被手动的分配在了堆上。
更多关于“Java培训”的问题,欢迎咨询千锋教育在线名师。千锋已有十余年的培训经验,课程大纲更科学更专业,有针对零基础的就业班,有针对想提升技术的好程序员班,高品质课程助力你实现java程序员梦想。