java 基本数据类型和引用数据类型

在 java 中有 8 种基本数据类型和 3 种引用数据类型

8 种类型

4 种整型
    byte        1 字节        -128 - 127
    short       2 字节        -32,768 —— 32,767 
    int          4 字节         -2,147,483,648 ——2,147,483,647(超过20亿) 
    long         8 字节        -9,223,372,036,854,775,808——9,223,372,036854,775,807 
2 种浮点类型
    float       4 字节        -3.40292347E+38-3.40292347E+38(有效位数 6 – 7位) 
    double      8 字节        -1.79769313486231570E+308-1.79769313486231570E+308(有效位数15位) 
1 种 Unicode 编码的字符单元
    char        2 字节        整个 Unicode 字符集
1 种真值类型
    Boolean     1 字节        true/false
    
注意: java 中所有的数据类型所占据的字节数与平台无关,java 没有任何的无符号类型

3 种引用类型

在java里面除去基本数据类型的其它类型都是引用数据类型,自己定义的class类都是引用类型,可以像基本类型一样使用。

类(class)

接口(interface)

数组(array)

类型简单对比

基本数据类型 引用数据类型
在栈中进行分配 在堆中进行分配,堆的读写速度远不及栈
变量名指向具体的数值 变量名指向存数据对象的内存地址,即变量名指向hash值
变量在声明之后java就会立刻分配给他内存空间 它以特殊的方式(类似C指针)指向对象实体(具体的值),这类变量声明时不会分配内存,只是存储了一个内存地址
基本类型之间的赋值是创建新的拷贝 对象之间的赋值只是传递引用
“==”和“!=”是在比较值 “==”和“!=”是在比较两个引用是否相同,值比较需要自己实现equals()方法
基本类型变量创建和销毁很快 类对象需要JVM去销毁

参考

  • http://blog.csdn.net/Coding_Zhu/article/details/53096178
  • http://blog.csdn.net/lucky123sky/article/details/54924411

你可能感兴趣的:(java 基本数据类型和引用数据类型)