包装类,包装类的自动装箱和自动拆箱

目标

1)包装类的作用,

2)掌握包装类的自动装箱和自动拆箱操作。

3)掌握包装类的转换操作。

具体内容

一切皆对象,八种基本数据类型不是对象。

把Int包装成一个类,这样的一个类就可以以对象的形式操作基本数据类型。

包装类

这八种包装类所继承的父类不全都相同。

1)Integer ,Byte,Float,Double,Short,Long都属于Number类的子类,Number类本身提供了一系列的返回

以上六种基本数据类型的操作。

2)Character属于Object子类。

3)Boolean属于Object子类。

Number类的作用

那么Number类是一个抽象类,主要是将数字包装类中内容变成基本数据类型。

主要操作方法如下:

以Integer和Float为例:

装箱及拆箱

1)将基本数据类型变成包装类称为装箱。

2)将包装类的类型变为基本数据类型称为拆箱。

public class WrapperDemo01{
    public static void main(String args[]){
        int x = 30 ;        // 基本数据类型
        Integer i = new Integer(x) ;    // 装箱:将基本数据类型变为包装类
        int temp = i.intValue()    ;// 拆箱:将一个包装类变为基本数据类型
    }
};

下面再以小数为例:

public class WrapperDemo02{
    public static void main(String args[]){
        float f = 30.3f ;        // 基本数据类型
        Float x = new Float(f) ;    // 装箱:将基本数据类型变为包装类
        float y = x.floatValue()    ;// 拆箱:将一个包装类变为基本数据类型
    }
};

在JDK1.5之前,对于程序本身来说,包装类不能直接进行“+,-,*,/,++,--”等操作,因为是一个类,

所以不能这么操作。

但是在JDK1.5之后,对程序的包装类功能进行了改变,增加了自动装箱和自动拆箱功能,而且,可以使用包装类直接进行数字运行。

自动装箱和自动拆箱也就是,可以自动由int-->Integer类型转变,而自动拆箱就是自动由Integer-->int转变

public class WrapperDemo03{
    public static void main(String args[]){
        Integer i = 30 ;    // 自动装箱成Integer
        Float f = 30.3f ;    // 自动装箱成Float
        int x = i ;            // 自动拆箱为int
        float y = f ;        // 自动拆箱为float
    }
};

在包装类中还有一个最大的特点,

将字符串变为指定的数据类型。

如:讲一个全由数字组成的字符串变为一个int或者float类型的数据。

在Integer和Float类中分别提供了以下两种方法:

1)Integer类(字符串转int类型):public static int parseInt(String s);

2)Float类(字符串转float类型):public static float parseFloat(String s);

static关键字修饰的方法,直接由类调用

注意:这里的String s,必须由数字组成。

public class WrapperDemo04{
    public static void main(String args[]){
        String str1 = "30" ;    // 由数字组成的字符串
        String str2 = "30.3" ;    // 由数字组成的字符串
        int x = Integer.parseInt(str1) ;    // 将字符串变为int型
        float f = Float.parseFloat(str2) ;    // 将字符串变为int型
        System.out.println("整数乘方:" + x + " * " + x + " = " + (x * x)) ;
        System.out.println("小数乘方:" + f + " * " + f + " = " + (f * f)) ;
    }
};
运行结果:

整数乘方:30 * 30 = 900
小数乘方:30.3 * 30.3 = 918.08997

 

从初始化参数获取字符串:

public class WrapperDemo05{
    public static void main(String args[]){
        int x = Integer.parseInt(args[0]) ;    // 将字符串变为int型
        float f = Float.parseFloat(args[1]) ;    // 将字符串变为int型
        System.out.println("整数乘方:" + x + " * " + x + " = " + (x * x)) ;
        System.out.println("小数乘方:" + f + " * " + f + " = " + (f * f)) ;
    }
};

总结

1)java中有8种基本数据类型的包装类,可以将基本数据类型以类的形式操作。

2)基本数据类型变为包装类的过程,称为装箱,将包装类变为基本数据类型的过程称为拆箱。

3)在JDK1.5之后,提供了自动装箱和自动拆箱功能。

4)使用包装类,可以将字符串实现基本数据类型的转换操作。

posted @ 2016-05-28 00:01  美好的明天  阅读(3926)  评论(0编辑  收藏  举报