前言


自己从网络上整理的,关于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