zoukankan      html  css  js  c++  java
  • 包装类,包装类的自动装箱和自动拆箱

    目标

    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)使用包装类,可以将字符串实现基本数据类型的转换操作。

  • 相关阅读:
    Linux基本网络设置(IP配置等,网卡驱动缓存,网卡中断)
    posix多线程有感线程高级编程(进程的优先级)
    posix多线程有感线程高级编程(均衡负载CPU绑定)
    posix多线程有感线程高级编程(线程调度以及优先级设置)
    linux多线程和锁
    posix多线程有感—sysconf系统变量
    Linux环境下获取网卡连接状态
    posix多线程有感线程高级编程(线程和fork,exec)
    posix多线程有感线程高级编程(线程堆栈)
    Day64:codeblocks安装 for Mac
  • 原文地址:https://www.cnblogs.com/alsf/p/5536551.html
Copyright © 2011-2022 走看看