zoukankan      html  css  js  c++  java
  • JVM之数据类型

    1.概述

    Java虚拟机的数据类型可分为两大类:原始类型(Primitive Types,也称为基本类型)和引用类型(Reference Types)。
    Java虚拟机用不同的字节码指令来操作不同的数据类型 。

    2.原始类型

    原始类型是最基本的元素,用于构成复杂的引用类型。与世间万物一样,都是由最基本的化学元素组合而成。

    原始类型又分为三类:数值类型(Numberic Types)、布尔类型(Boolean Type)、ReturnAddress类型;数值类型又可以细化为整型(Integral Types)和浮点型(Floating-Point Types)。

    整型
    • byte:8位 有符号 二进制补码整数,取值范围[-27,27-1],默认值为零;

    • short:16位 有符号 二进制补码整数,取值范围[-215,215-1],默认值为零;

    • int:32位 有符号 二进制补码整数,取值范围[-231,231-1],默认值为零;

    • long:64位 有符号 二进制补码整数,取值范围[-263,263-1],默认值为零;

    • char:16位 无符号 UTF-16编码Unicode值,取值范围[0,65535]默认值为null('u0000');

    浮点型
    • float:32位 单精度浮点数集合,默认值正数零;

    • double:64位 双精度浮点数集合,默认值为正数零;

    布尔型
    • boolean [1] :取值范围[true,false],默认值为false;

    returnAddress类型
    • returnAddress [^2]:表示一条字节码指令的操作码,在JVM支持的原始类型中只有returnAddress类型不能直接与Java语言的数据类型对应的。

    引用类型

    Java虚拟机有三种引用类型:类类型(Class Types)、数组类型(Array Types)、接口类型(Interface Types),分别由类实例、数组实例及实现了某个接口的类实例或数组实例动态创建。此外,还有一个特殊值null,不指向任何对象时,引用类型的值就是null,同时,null也是引用类型的默认值。

    对于数组类型,还包含一个单一维度的组件类型(Component Type),组件类型可以是数组、原始类型、类类型或者接口类型。当组件类型是数组类型时,继续重复取这个数组的组件类型,最后一层组件类型一定是非数组,这也是该数组类型的元素类型(Element Type)。这也是多维数组的实现形式。


      1. 在Java语言中涉及到boolean类型值的运算,在编译后都是用Java虚拟机的int(32位)数据类型来代替;boolean的数组类型的访问有修改共用byte(8位)类型数组的字节码指令。 

  • 相关阅读:
    climbing-stairs
    binary-tree-inorder-traversal
    search-insert-position
    balanced-binary-tree
    Java 接口工厂案例
    Java 接口案例
    Java 抽象类
    unique-paths
    maximum-subarray
    php修改文件夹下的所以图片png改为jpg,也可以作为修改为其他格式的方法
  • 原文地址:https://www.cnblogs.com/duanxz/p/6099469.html
Copyright © 2011-2022 走看看