第三章 Java数据类型

Java数据类型

学习任何一门计算机语言,熟练掌握其数据的类型是最基本的前提。

一 数据类型

 PS:这里提醒一点,如果问到每种数据类型所占内存的大小时,请务必先关心操作系统是32位还是64位。

二 数据类型的转换

1. 自动类型转换

也称为"隐式类型转换", 是自动发生,一般不需要程序员处理;

如:char —> int —> long —> float —> double。 

2. 强制类型转换

反方向转换,强制类型转换也称为显式类型转换,这种转换会溢出,或者损失精度,要注意数据的范围。

如:double —> float —> long —> int —> short —> byte。

三 引用类型转换

  • 向下转型(隐式/自动类型转换),是小类型到大类型的转换;
  • 向上转型(显示/强制类型转换),是大类型到小类型的转换;
  • instanceof运算符,用来检查引用对象的类型。

四 包装类及其拆箱装箱

基本类型的数据不是对象,所以对于要将数据类型作为对象来使用的情况,Java提供了相应的包装类。

1. 装箱

就是把基本类型用它们相对应的引用类型包起来,使它们可以具有对象的特质,如我们可以把int类型包装成Integer类的对象。

      2. 拆箱

就是跟装箱反方向的操作,将Integer这样的引用类型重新简化为值类型的数据。

3. 自动拆装箱

        Java SE 5.0以后提供了自动装箱与拆箱的功能,此功能事实上是由编译器来帮你的忙,编译器在编译时期依你所编写的方法,决定是否进行装箱或者拆箱动作。

    • 自动装箱的过程:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装中。
    • 自动拆箱的过程:每当需要一个值时,被装箱对象中的值就自动地提取出来,没必要再去调用intValue()或者doubleValue()方法。

4. 基本数据类型与包装类的对应

 

posted @ 2016-01-09 22:38  幺刀  阅读(123)  评论(0编辑  收藏  举报