Java 8种基本数据类型 和 3 种引用数据类型
Java数据类型
java两大数据类型:基本数据类型(内置数据类型)、引用数据类型
-
基本数据类型:直接存储在内存中的内存栈上,数据本身的值就是存储在栈空间;
-
引用数据类型:引用类型继承与Object类,引用(即指针)是存储在有序的内存栈上,而对象本身的值存储在内存堆中。
基本数据类型(内置数据类型)
- 整数型(4种):byte、short、int、long
- 浮点型(2种):float、double
- 字符类型(1种):char
- 布尔类型(1种):boolean
类型 | 概述 | 范围 | 默认值 | 作用 | 例子 |
---|---|---|---|---|---|
byte | 8位、有符号,以二进制补码表示的整数 | -2^7 ~ (2^7-1),即 -128 ~ 127 | 0 | byte类型用在大型数组中节约空间,主要代替整数,因为byte变量占用的空间只有int的四分之一; | 例子:byte a=-2 |
short | 16位,有符号,以二进制补码表示的整数 | -2^15 ~ 2^15-1, 即 -32768 ~ 32767 | 0 | short占用空间是int的二分之一 | 例子:short s=-20000 |
int | 32位、有符号,以二进制补码表示的整数 | -2^31 ~ 2^31-1 | 0 | 一般整数型默认为int类型; | 例子:int=-200000 |
long | 64位、有符号,以二进制补码表示的整数 | -2^63 ~ 2^63-1 | 0L | 主要使用在需要比较大整数的系统上 | 例子:long a=10000L |
float | 32位、单精度,浮点数 | 浮点数不能用于表示精确的值 | 0.0f | 在存储大型浮点数组的时候可以节省内存空间 | 例子:float f1=0.3f |
double | 64位、双精度,浮点数 | double也不能表示精确的值 | 0.0d | 浮点数的默认类型为double类型 | 例子:double d1=12.3 |
boolean | 表示一位的信息 | 取值:true/false | false | 只作为一种标志类记录 true/false 情况 | 例子:boolean one=true |
char | 是一个单一的16位Unicode字符 | \u0000(即0)~\uffff(65,535) | ‘\u0000’ | char可以存储任何字符 | 例子:char letter=‘A’ |
引用数据类型
- 引用类型指向一个对象,不是原始值,指向对象的变量是引用变量
- 引用数据类型包括:类(对象)、接口、数组。
- 所有引用类型默认值都是null. 一个
- 引用变量可以用于引用任何与之兼容的类型。
类class引用
- java里面除去基本数据类型的其他类型都是引用类型,自己定义的class类都是引用类型,可以像基本类型一样使用
- 引用类型常见的有:Obecjt、Date(Calendar、Gre)、String、StringBuffer、ArrayList、HashSet、HashMap、Void等
- 包装类:Integer Long Boolean Byte Character Double Float Short
接口interface引用
- 自己创建的
List<E>
Map<K,V>
数组
数组:存储在一个连续的内存块中的相同数据类型(引用数据类型)的元素集合。