Java中的基本数据类型

什么是基本数据类型

就是我们在编程的时候经常需要用到的数据类型,如整型,浮点型等,把这些数据类型专门拿出来特殊对待,并想象成所谓的“基本类型”。

Java中有哪些基本数据类型

JAVA基本类型特点

  • 基本数据类型速度比其对应包装类快;    //网上有篇文章做过测试,证明比包装类快,有兴趣可参考阅读
  • 基本数据类型不是对象;   //有些人喜欢拿此来反驳Java的一切都是对象;
  • 可移植性高,Java的基本类型所占空间大小是固定的,不会随着机器硬件架构改变; //像C语言的int空间大小就不固定
  • 没有无符号数的概念,这里主要指的是byte、short、int...,其实char可以认为是无符号数;//像C语言是有unsigned int,unsigned char等无符号数
  • 都有其对应的包装类,基本类型和包装类之间可以自动转换;//因为JAVA SE5引入了自动拆装箱功能
  • 待补充。。。

JAVA基本数据类型详细说明

boolean

Java中没有明确定义boolean类型所占空间的大小,但其只能取true或false,初始化的默认值为false;

boolean类型对应的封装类为Boolean;

char

字符类型,占用两个字节的空间,即16位,Java中的字符是用Unicode来存储的,中英文字符都可以用一个char来存储,如下示例:

a字符转成整形,其值的大小用十六进制表示为6211,该值即为该字符在unicode字符集中的序号,a字符的Unicode格式即为'\u6211'

package tmp;

public class Main
{
    public static void main(String[] args)
    {
        char a = '我';
        System.out.println(Integer.toHexString(a) + '\u6211');
    }

}

char的初始默认值为'u0000',范围:'\u0000'——'\uFFFF',其封装类为Character.

byte

整型,一个字节大小,初始默认值为0,其它没啥好说的了。

short

整型,两个字节大小,初始默认值为0。

int

整型,四个字节大小,初始默认值为0。

long

整型,八个字节大小,初始默认值为0l。

float

浮点型,四个字节大小,范围为32位IEEEE 754单精度范围,初始默认值为0.f。

double

浮点型,八个字节大小,范围为64位IEEEE 754单精度范围,初始默认值为0.0。

void

空类型,主要用于方法名前,表示该方法无返回值;

关于自动装箱和拆箱

这个功能是在JAVA SE5引入的,简单的说,就是基本类型与包装类之间的自动转换。

举个例子,int的装箱及Integer的拆箱,实际上调用的都是Integer类里的以下方法:

装箱:valueOf(int i)

拆箱:intValue()

有兴趣的可以在源代码打个断点测试;

举个例子:

package tmp;

public class Main
{
    public static void main(String[] args)
    {
        //自动装箱,实际上调用Integer.valueOf(int);
        Integer i1 = 100;
        //自动拆箱,实际调用Integer对象的intValue()方法;
        int i2 = new Integer(100);
    }

}

 参考资料:

JAVA编程思想

posted @ 2016-10-10 14:07  风一样的码农  阅读(3772)  评论(0编辑  收藏  举报