Java数据类型分为基本数据类型和引用数据类型,其中基本数据类型分为八种:byte、short、int、long、float、double、char、boolean。
基本类型
- byte:java中最小的数据类型,内存中占8位(bit),1个字节,取值范围-128 ~ 127
- short:短整型,内存中占16位,2个字节,取值范围-32768 ~ 32767
- int:整型,内存中占32位,4个字节,取值范围-2147483648 ~ 2147483647
- long:长整型,内存中占64位,8个字节,取值-2^63 ~ (2 ^ 63) -1
- float: 浮点型,内存中占32位,4个字节
- double:双精度浮点型,内存中占64位,8个字节
- char:字符型,内存中占16位,2个字节,取值0 ~ 65535
- boolean:布尔类型,1个字节
引用数据类型可以通过new来创建对象的类型,比如:类、接口类型、数组类型、枚举类型等。
两种数据类型的存储方式
(1)引用数据类型
StringBuffer str = new StringBuffer();
该StringBuffer对象的内容是存储在堆上的,需要申请堆内存,而变量str只是针对该StringBuffer对象的一个引用,变量str的值(也就是StringBuffer对象的地址)是存储在栈上的。
(2)基本数据类型
int a = 123 ;
这个变量a的值是存在栈上的,但是这个语句的创建不需要从堆中申请内存了。
由于基本数据类型不是派生于object,基于某些场合(比如容器类),便为每个基本数据类型加上了对应的包装类,比如:Byte等。