说说 Java 的基本数据类型

Java 定义了一些基本数据类型。隶属于基本数据类型的变量直接存储变量值,并将其放置于栈内存中。栈内存指的是 RAM(随机访问存储器,Random Access Memory)。Java 可通过栈指针获得处理器的直接支持。当栈指针下移时,分配内存;上移时释放内存,这是一种快速有效的内存分配方法,速度仅次于寄存器。因此相对类对象来说,更加高效。

基本类型 占用空间 最小值 最大值 包装类型 默认值
boolean Boolean false
char 16 bits 0(Unicode 形式) 216 -1(Unicode 形式) Character \u0000,即空字符
byte 8 bits -128 +127 Byte 0,byte 格式
short 16 bits - 215 + 215 -1 Short 0,short 格式
int 32 bits - 231 + 231 -1 Integer 0
long 64 bits - 263 + 263 -1 Long 0L
float 32 bits IEEE754 IEEE754 Float 0.0f
double 64 bits IEEE754 IEEE754 Double 0.0d
void Void -
  1. IEEE754,即 IEEE 二进制浮点数算术标准,它是20世纪80年代以来最广泛使用的浮点数运算标准,为许多CPU与浮点运算器所采用。这个标准定义了表示浮点数的格式(包括负零-0)与反常值(denormal number)),一些特殊数值(无穷(Inf)与非数值(NaN)),以及这些数值的“浮点数运算符”;它也指明了四种数值舍入规则和五种例外状况(包括例外发生的时机与处理方式)。
  2. 布尔(boolean)类型没有大小的概念,只有字面值 “true” 或 “false” 。
  3. 每种基本类型有自己所对应的包装类型,这些包装类型会被存储在堆内存中。堆内存(Heap)也在 RAM 中,并且存储了所有 Java 对象。使用 new 创建对象时,Java 就会自动在堆中分配内存。
    4.这些基本数据类型的默认值仅在初始化类时,才会被自动初始化。但这些初始默认值不一定是我们想要的初始值。 所以,建议始终显式地初始化这些基本数据类型变量。

注意: 基本数据类型初始化为默认值仅适用于类的字段变量,而对类方法中的基本数据类型变量无效。

示例方法中的变量 length 不会自动初始化为 0L,所以 IDE 提示我们该变量还未被初始化啦O(∩_∩)O

发布了601 篇原创文章 · 获赞 668 · 访问量 88万+

猜你喜欢

转载自blog.csdn.net/deniro_li/article/details/103939811