Java基本类型的缺省值小结

今天同事被同事问到一个细节问题,现我把Java八大基本类型的初始值小结一下:

 

Java有 8 种原始类型,可分为四大类:整数、实数、字符、boolean.

整数:byte、short、int、long。初始值为0

实数:float、double。初始值为0.0

字符:char。初始值为空格,即'' ",如果输出,在Console上是看不到效果的。

boolean:boolean。初始值为false

 

 

以下为小扩展:

      在Java中,一切皆对象,但八大基本类型却不是对象。

      基本类型存储在内存中的内存栈上,数据本身值存储在栈空间里。栈的好处就是操作速度快,创建销毁很容易。

      复杂类型的引用是存储在内存中的内存栈上,对象本身存储在堆内存里。举个例子来说:

      String s = new String("对象");

      s是复杂类型的引用,是存储在栈上的,而引用的值“对象”是存储在内存堆里的。

 

对象的销毁:

      对象的引用放在栈中,所以使用完引用就被从栈中销毁了,但是实际的对象仍然存放在堆中,只有在没有任何的引用使用它的时候才被gc回收。

 

另:Java有两个专门的类负责高精度运算:BigInteger和BigDecimal。

      这两个类是没有对应的基本类型的。因为精度过大,效率不够高。但普通类型的操作这两个类都对应有。

你可能感兴趣的:(java)