zoukankan      html  css  js  c++  java
  • 八种基本数据类型的大小,以及他们的封装类

    基本类型

    大小(字节)

    默认值

    封装类

    byte

    1

    (byte)0

    Byte

    short

    2

    (short)0

    Short

    int

    4

    0

    Integer

    long

    8

    0L

    Long

    float

    4

    0.0f

    Float

    double

    8

    0.0d

    Double

    boolean

    -

    false

    Boolean

    char

    2

    u0000(null)

    Character

      有的书也说是9中基本数据类型,包括了void。

      基本类型所占的存储空间是不变的:这种不变性也是java具有可移植性的原因之一。

      基本类型是放在栈中,直接存储值。

      所有数值类型都有正负号,没有无符号的数值类型。

     

      注:

      1.int是基本数据类型,Integer是int的封装类,是引用类型。int默认值是0,而Integer默认值是null,所以Integer能区分出0和null的情况。一旦java看到null,就知道这个引用还没有指向某个对象,再任何引用使用前,必须为其指定一个对象,否则会报错。

      2.基本数据类型在声明时系统会自动给它分配空间,而引用类型声明时只是分配了引用空间,必须通过实例化开辟数据空间之后才可以赋值。数组对象也是一个引用对象,将一个数组赋值给另一个数组时只是复制了一个引用,所以通过某一个数组所做的修改在另一个数组中也看的见。

     

      虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达式所操作的boolean值,在编译之后都使用Java虚拟机中的int数据类型来代替,而boolean数组将会被编码成Java虚拟机的byte数组,每个元素boolean元素占8位”。这样我们可以得出boolean类型占了单独使用是4个字节,在数组中又是1个字节。使用int的原因是,对于当下32位的处理器(CPU)来说,一次处理数据是32位(这里不是指的是32/64位系统,而是指CPU硬件层面),具有高效存取的特点。

  • 相关阅读:
    屏蔽2003:在系统启动时至少有一个服务或驱动程序产生错误
    C#中有关string和byte[]转换的问题
    如何控制winform程序只能打开一个呢?
    ArrayList的使用方法【转载】
    ASP.NET中ajaX学习记录
    C#去除字符串空格的几种方法【转载】
    C# 中2,10,16进制及其ASCII码之间转化
    vc++下char数组赋值乱码问题
    c#关机时自动退出程序
    Android入门前言(一)之Android应用开发入门五问 (转自:http://blog.csdn.net/android_tutor/)
  • 原文地址:https://www.cnblogs.com/mengchunchen/p/7886906.html
Copyright © 2011-2022 走看看