大家好,我是蚊仔接下来我来谈谈自己对JAVA基本数据类型的理解。
1. JAVA的基本数据类型的理解
1.1 JAVA的基本数据类型
Java是一种强类型语言,在Java中共有8种基本类型,其中可以分为四个大类型(整型、浮点类型、字符类型、布尔型)。其中有四种整型、两种浮点类型、一种字符类型和一种用于表示真值的布尔(boolean)类型。
整型 | 存储需求 | 取值范围 |
---|---|---|
int | 4字节=32位 | -231 ~ 231 |
short | 2字节=16位 | -215~ 215 |
long | 8字节=64位 | -263 ~ 263 |
byte | 1字节=8位 | -27 ~27 |
浮点型 | 存储需求 | 取值范围 |
---|---|---|
float | 4字节=32位 | -231 ~ 231 |
double | 8字节=64位 | -263 ~ 263 |
对于明明是占32位的int类型取值范围不是232而是231 ~ 231,因为需要展现出数值的正负所以占用最高位用于表现正负。在JAVA中,所有的数值类型所占据的字节数和平台无关。
字符型 | 存储需求 |
---|---|
char | 2字节=16位 |
在Java中,char类型描述了UTF-16编码的一个代码单元,每个代码单元用16位进行表示。
布尔型 | 存储需求 |
---|---|
boolean | 4字节=32位/1字节=8位 |
<<Java核心技术 卷Ⅰ>>并没有定义布尔型的大小。自己理解是boolean只有两个值 false 和 true 用来判定逻辑条件,在编译后使用0或1来表示,这两个数在内存中只占一位。但在单个布尔类型编译的时候使用的int类型即32位,在布尔型数组时用的是 byte array进行编译即占1字节。
谢谢阅读,有错误请指正,谢谢!