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);

    }
}

 

posted @ 2021-10-11 20:53  艺术派大星  阅读(43)  评论(0)    收藏  举报
levels of contents