Java基本数据类型和所占字节数和初始值

Java基本数据类型

总共8种
整型:byte short int long 4种
浮点型(小数型):float double 2种
布尔值型:boolean 1种
字符型:char 1种

所占字节数

整型

  1. byte 1个字节数
  2. short 2个字节数
  3. int 4个字节数
  4. long 8个字节数

浮点型

  1. float 4个字节数
  2. double 8个字节数

布尔值型多种解释

  1. boolean 1bit(理由是boolean类型的值只有true和false两种逻辑值,在编译后会使用1和0来表示,这两个数在内存中只需要1位(bit)即可存储,位是计算机最小的存储单位。)
  2. boolean 1个字节数(理由是虽然编译后1和0只需占用1位空间,但计算机处理数据的最小单位是1个字节,1个字节等于8位,实际存储的空间是:用1个字节的最低位存储,其他7位用0填补,如果值是true的话则存储的二进制为:0000 0001,如果是false的话则存储的二进制为:0000 0000。)
  3. boolean 4个字节数(在Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达式所操作的boolean值,在编译之后都使用Java虚拟机中的int数据类型来代替。那虚拟机为什么要用int来代替boolean呢?为什么不用byte或short,这样不是更节省内存空间吗。大多数人都会很自然的这样去想,我同样也有这个疑问,经过查阅资料发现,使用int的原因是,对于当下32位的处理器(CPU)来说,一次处理数据是32位(这里不是指的是32/64位系统,而是指CPU硬件层面),具有高效存取的特点。)

字符型

  1. char 2个字节数

初始值

byte: 0
short: 0
int: 0
long: 0L
float : 0.0f
double : 0.0d
char: ‘\u0000’
boolean: false


版权声明:本文为weixin_43928939原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。