1.在隐示转换中,byte、short、char类型的数据都是直接自动转换到int类型,为什么?
对于32位的处理器来说,低于32位的数据类型(像byte、short、char)直接转换成32位(像 Int)更方便,后期就不需要在不够补齐了(二进制中的补齐),这样JVM的速度就会更快,像高于32位的数据类型,也就是64位的数据,会分为两个32位进行执行。
2.java中boolean类型占几个字节
1.单个的boolean 类型变量在编译的时候是使用的int 类型。
boolean a=true;//这个a在JVM中占4个字节即:32位。
2.boolean 类型的数组时,在编译的时候是作为byte array来编译的所以boolean 数组里面的每一个元件占一个字节,
boolean[] b = new boolean[10];//数组时,每一个boolean在JVM中占一个字节
所以一般在新建状态变量数组的时候不要使用int数组,而是使用boolean数组。
image.png