Java教程

Java-25 包装类

本文主要是介绍Java-25 包装类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.包装类:

  1.包装类类型:为了对基本数据类型进行更多的操作,更方便的操作,Java就针对每一个基本数据类型都提供了对应的类类型。

 

   2.包装类常用情景:

    1、在集合中使用(泛型)
    2、用于基本数据类型与字符串之间的转换

  3.装箱和拆箱

/*
装箱:把基本类型的数据,包装到包装类中(基本类型数据类型-->包装类)
    构造方法:
        Integer(int value)
        构造一个新分配的 Integer对象,该对象表示指定的 int值。
        Integer(String s)
        构造一个新分配 Integer对象,表示 int由指示值 String参数。

    静态方法:
        valueOf(int i)
        返回一个 Integer指定的 int值的 Integer实例。
        static Integer valueOf(String s)
        返回一个 Integer对象,保存指定的值为 String 。

拆箱:在包装类中取出基本数据类型的数据(包装类-->基本类型的数据)
    成员方法:
        public int intValue()

*/
public class IntegerDemo1 {
    public static void main(String[] args) {
        //Integer(int value)
        //构造一个新分配的 Integer对象,该对象表示指定的 int值。
        Integer i1 = new Integer(100);
        System.out.println(i1);//100

        //Integer(String s)
        //构造一个新分配 Integer对象,表示 int由指示值 String参数。
        //string只能是基本数据类型"0",如果是其他类型则抛出异常
        Integer i2 = new Integer("100");
        System.out.println(i2);//100
        //System.out.println(new Integer("a"));//NumberFormatException 抛出异常

        //valueOf(int i)
        //返回一个 Integer指定的 int值的 Integer实例
        Integer i3 = 100;
        Integer i4 = Integer.valueOf(100);
        System.out.println(i3);//100
        System.out.println(i4);//100

        //static Integer valueOf(String s)
        //返回一个 Integer对象,保存指定的值为 String 。
        Integer i5 = Integer.valueOf("78");
        System.out.println(i5);//78

        //public int intValue()
        //拆箱
        int i = i5.intValue();
        System.out.println(i);//78
    }
}

 

   4.自动拆箱和装箱

public class IntegerDemo2 {
    public static void main(String[] args) {
        //自动装箱。直接把int类型的整数赋值包装类
        Integer i1 = 1;//相当于Integer i1 = new Integer(1)
        System.out.println(i1);//1

        //自动拆箱:i1是包装类,无法直接参与运算,可以自动转换为基本数据类型,再进行计算
        //i1+2;相当于i1.intValue()+2=3
        i1 = i1 + 1 ;
        System.out.println(i1);//2

    }
}

  5.一些方法的使用

/*
 需求1:将100这个数据计算出它的二进制,八进制,十六进制
 需求2:如何用代码求出int类型的范围?
 */

public class IntegerDemo3 {
    public static void main(String[] args) {
        //public static String toBinaryString(int i)
        //将int类型的值转成二进制
        String s = Integer.toBinaryString(100);
        System.out.println("100的二进制:"+s);

        //public static String toOctalString(int i)
        //将int类型的值转成八进制
        String s1 = Integer.toOctalString(100);
        System.out.println("100的八进制:"+s1);

        //public static String toHexString(int i)
        //将int类型的值转成十六进制
        String s2 = Integer.toHexString(100);
        System.out.println("100的十六进制:"+s2);

        //public static final int MIN_VALUE
        System.out.println("int类型的范围最小是:"+Integer.MIN_VALUE);

        //public static final int MAX_VALUE
        System.out.println("int类型的范围最大是:"+Integer.MAX_VALUE);
    }
}

  6.基本数据类型int型与字符串之间的转换

/*
        int类型与String类型的相互转换

        int --- String
            1.基本数据类型的值+""  //最简单的方法

            2.包装类的静态方法toString(参数)不是obje类的toString,是重载
            static String toString(int i) //返回一个指定整数的String对象

            3.String类的静态方法valueof(参数)
            public static String valueOf(int i)  //返回int类型的字符串

            4.int -- Integer -- String
            public String toString()

       String --- int
            1. String -- int -- Integer

            2.使用包装类的静态方法parseInt("字符串");
            public static int parseInt(String s)

 */

public class IntegerDemo4 {
    public static void main(String[] args) {
        int num = 100;
        //int --- String
        //方式1:基本数据类型的值+""
        String s1 = num+"";
        System.out.println(s1+200);//100200
        //方式2:包装类的静态方法toString(参数)不是obje类的toString,是重载
        //static String toString(int i)
        String s2 = Integer.toString(100);
        System.out.println(s2+200);//100200
        //方法3:public static String valueOf(int i)  //返回int类型的字符串
        String s3 = String.valueOf(100);
        System.out.println(s3+200);//100200
        //方式4  int -- Integer -- String
        Integer integer = new Integer(100);
        System.out.println(integer);
        //public String toString()
        String s = integer.toString();
        System.out.println(s+100);//100100
        System.out.println("===============================");

        //String -- int
        String string = "100";
        //方式1:
        //String -- Integer -- int
        Integer i1 = new Integer(string);
        System.out.println(i1+100);//200
        //public int intValue()
        int intI1 = i1.intValue();
        System.out.println(intI1+100);//200

        //方式2:
        //public static int parseInt(String s)
        int i = Integer.parseInt(string);
        System.out.println(i+100);//200

//        int i2 = Integer.parseInt("100abc"); //NumberFormatException
//        System.out.println(i2);

    }
}

 

这篇关于Java-25 包装类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!