最近被一个问题难倒:问到Java的基夲数据类型有8种具体是哪几个?一起复习下:
变量就是申请内存来存储值即当创建变量的时候,需要在内存中申请空间
内存管理系統根据变量的类型为变量分配存储空间,确定了变量的类型即确定了数据需分配内存空间的大小,数据在内存的存储方式
Java两大数据类型:内置数据类型/基本数据类型、引用数据类型
- 基本数据类型:都是直接存储在内存中的内存栈上,数据本身的值就是存储在栈空间;
- 引鼡数据类型:引用类型继承与Object类引用(即指针)是存储在有序的内存栈上,而对象本身的值存储在内存堆中
内置数据类型/基本数据类型(8种)
- 字符类型(1种):char
8位、有符号,以二进制补码表示的整数 | 0 | byte类型用在大型数组中节约空间主要代替整数,因为byte变量占用的空间只囿int的四分之一; |
16位有符号,以二进制补码表示的整数 | 0 | short占用空间是int的二分之一 |
32位、有符号以二进制补码表示的整数 | 0 | 一般整数型默认为int类型; |
64位、有符号,以二进制补码表示的整数 | 主要使用在需要比较大整数的系统上 | |
32位、单精度浮点数 | 浮点数不能用于表示精确的值 | 在存储大型浮点数组的时候可以节省内存空间 |
64位、双精度,浮点数 | double也不能表示精确的值 | 浮点数的默认类型为double类型 |
char可以存储任何字符 |
- 引用类型指向一個对象指向对象的变量是引用变量。这些变量在声明时候被指定为一个特定的类型声明之后不能改变。
- 引用数据类型包括:类(对象)、接口、数组
- 所有引用类型默认值都是null.
- 一个引用变量可以用于引用任何与之兼容的类型。