5.3.1数据类型

java语言中的所有基本类型同样也都是虚拟机中的基本类型。但是boolean有点特别,虽 然Java虚拟机也把boolean看做基本类型,但是指令集对boolean只有很有限的支持,当编译器把java源码编译为字节码时,它会用int或byte来表示boolean。在Java虚拟机中,false是由整数零来表示的,所有非零整数都表示true,涉及boolean值的操作则会使用int。另外,boolean数组是当做byte数组来访问的,但是在“堆”区,它也可以被表示为位域。

除了boolean以外,Java语言中的基本类型构成了java虚拟机中的数值类型。虚拟机中的数值类型分为两种:整数类型(包括byte、short, int、long、char)和浮点数类型(包括float和 double),和java语言一样,java虚拟机的基本类型的值域在任何地方都是一致的,比如,不管 底层的主机平台是什么,-个long在任何虚拟机中总是一个64位二进制补码表示的有符号整数。
Java虚拟机中还有一个只在内部使用的基本类型:returnAddress, Java程序员不能使用这个类型。这个基本类型被用来实现Java程序中的finally子句。关于returnAddress細法我们将在第

 


Java虚拟机规范定义了每一种数据类型的取值范围,但是却没有定义它们的位宽。存储这些类型的值所需的占位宽度,是由具体的虚拟机实现的设计者决定的。关于Java虚拟机数据类型的 取值范围,请看表5-丨。更多关于浮点类型的取值范围的信息,请看第14章。


猜你喜欢

转载自www.cnblogs.com/mongotea/p/11979301.html