前言
自己从网络上整理的,关于java的基本数据类型。
一、java的八大基本数据类型有哪些?
自从Java发布以来,基本数据类型就是Java语言的一部分,分别是byte, short, int, long, char, float, double, boolean.
其中:
整型:byte, short, int, long
字符型:char
浮点型:float, double
布尔型:boolean
在详细介绍之前,先科普一下,Java中最小的计算单元为字节,1字节=8位(bit)。
二、八大数据类型的取值范围与包装类
数据类型 | 取值范围 | 所占空间 | 默认值 | 包装类 |
byte | -128~127 | 1字节 | 0 | Byte |
short | -32768~32767 | 2字节 | 0 | Short |
int | -2^31 (-2,147,483,648)~ 2^31-1(2,147,483,647) | 4字节 | 0 | Integer |
long | -2^63 (-9,223,372,036,854,775,808)~ 2^63-1(9,223,372,036,854,775,8087) | 8字节 | 0L | Long |
float | 3.4e-45~1.4e38 | 4字节 | 0.0f | Float |
double | 4.9e-324~1.8e308 | 8字节 | 0.0d | Double |
boolean | true~false | - | false | Boolean |
char | 0~65536 | 2字节 | null | Character |
注意:
-1.因为char类型在ASCII字符编码中,有对应的数值,可直接做运算,输出字符表中对应的字符
-2.在JVM中并没有提供boolean专用的字节码指令,而boolean类型数据在经过编译后在JVM中会通过int类型来表示,此时boolean数据4字节32位,而boolean数组将会被编码成Java虚拟机的byte数组,此时每个boolean数据1字节占8bit.
-3.float结构包含三部分:符号位S(1bit)、指数位E(8bit)、尾数位M(23bit)
-4.double结构包含三部分:符号位S(1bit)、指数位(11bit)、尾数位(52bit)
-5.由于是近似值,表示金额建议使用BigDecimal而不是Double