1、数据类型:Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配不同大小的内存空间。
Java根据数值的大小分配不同大小的内存空间,说白了就是防止内存的浪费,而合理分配使用内存空间。
2、数据类型的分类:
- 基本数据类型
- 引用数据类型
3、基本数据类型分类:(Java中的八大基本类型)
整数型所占大小其实很好理解,我们可以知道一个字节是八位,每一位的幂是从2^0
开始从右到左依次加1,八位最高位对应的就是2^7
,最大则是128,而short占两个字节所以它最多是16位,即2^15
,同理可以算出int占四个字节,为32位,最高位为2^31
,long为64位,最大2^63
,而由于达到最大值的时候我们要进位,因为我们存不下这么多所以,我们的最大值要在基础上减1,当我们达到所谓的最大值时,其实是变为了最小值。
- 整数型:
- byte 占一个字节
-128 ~ 127
- short 占两个字节
-2^15 ~ 2^15-1
- int 占四个字节
-2^31 ~ 2^31-1
- long 占八个字节
-2^63 ~ 2^63-1
- byte 占一个字节
- 浮点型:
- float 占四个字节
-3.103E38 ~ 3.403E38
(单精度浮点类型) - double 占八个字节
-1.798E308 ~ 1.98E308
(双精度浮点类型)
- float 占四个字节
- 字符型:
- char 占两个字符
0 ~ 65535
- char 占两个字符
- 布尔型:
- boolean:boolean理论上占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有明确指定他的大小。