本文主要是介绍Java的三种原始数据类型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
如果问你Java的基本类型是哪些,你肯定会说有4种数值型,2种浮点型,char,boolean共8种吧。另一个问题,Java虚拟机所支持的原始数据类型是几种呢?还是8种吗?
在JVM规范的第二版中,Java的三种原始数据类型是数值型、boolean类型、返回地址类型(returnAddress),这三种是JVM支持的原始类型。
值得注意的是返回地址类型(returnAddress),如果你对它不了解,这篇文章的目的就是来补上这小点知识滴。它并不是Java语言api的一部分,不会直接被开发者使用。
<!--[if !supportLists]-->1) <!--[endif]-->数值型
数值型包括整型和浮点型
整型
byte-8位有符号整数 -128~127
short-16位有符号整数 -32768~32767
int-32位有符号整数
long-64位有符号整数
char-16位无符号整型,代表Unicode字符
浮点型
正负小数
正负0
正负无穷大
NAN(Not a Number) 如0/0的结果为NAN
<!--[if !supportLists]-->2) <!--[endif]-->boolean类型
标明真假。其实boolen类型也是按照int类型进行操作的。没有单独的操作布尔类型的指令,源代码中的布尔类型的操作在编译以后是作为int类型的值进行操作的。
JVM直接支持布尔数组,newarray指令可以创建布尔数组,而它的访问和修改操作却是使用byte类型的数组的操作指令进行的:baload,bastore。(在JDK1.0,1,1以及1.2中,布尔数组被编码为byte数组,每个元素是8位)JVM用1代表true,用0代表false,编译器将源代码中的布尔类型映射为JVM中的int类型,而且必须和JVM的要求一致
<!--[if !supportLists]-->3) <!--[endif]-->返回值类型
该类型是jsr, ret以及jsr_w指令需要使用到的,它的值是JVM指令的操作码的指针,并且它的值是不能被运行中的程序所修改的。
Joseph Kulandai
[原文可以查看我的个人博客:Java爱好者]
这篇关于Java的三种原始数据类型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!