十一、常用API——包装类

包装类

  • 什么是包装类
  • Integer成员方法


什么是包装类

包装类:基本数据类型对应的引用类型
十一、常用API——包装类_第1张图片
十一、常用API——包装类_第2张图片
十一、常用API——包装类_第3张图片
十一、常用API——包装类_第4张图片

public static void main(String[] args) {
        //0.利用构造方法获取Integer的对象(JDK5以前的方式)
        /*因为看到了new 关键字,在Java中,每一次new都是创建了一个新的对象
        * 所以下面的两个对象都是new出来的,地址值不一样*/
        Integer i1 = new Integer(1);
        Integer i2 = new Integer("1");
        System.out.println(i1); // 1
        System.out.println(i2);// 1

        //1.利用静态方法获取Integer的对象(JDK5以前的方式)
        /*因为在实际开发中,-128~127 之间的数据,用的比较多
        * 如果每次使用都是new对象,那么太浪费内存了
        * 所以,提前把这个范围之内的每一个数据都创建好对象
        * 如果要用到了不会创建新的,而是返回已经创建好的对象*/
        Integer i3 = Integer.valueOf(123);
        Integer i4 = Integer.valueOf("123");
        Integer i5 = Integer.valueOf("123", 8);

        System.out.println(i3);//123
        System.out.println(i4);//123
        System.out.println(i5);//83


    }


public static void main(String[] args) {
        //在以前包装类如何进行计算
        Integer i1 = new Integer(1);
        Integer i2 = new Integer(2);

        /*需求:
        * 要把两个数据进行相加得到结果3
        * 对象之间是不能直接进行计算的
        * 步骤:
        * 0.把对象进行拆箱,变成基本数据类型
        * 1.相加
        * 2.把得到的结果再次进行装箱(再变回包装类)*/
        int result = i1.intValue() + i2.intValue();
        Integer i3 = new Integer(result);
        System.out.println(i3); // 3
    }

public static void main(String[] args) {
        /*在JDK5的时候提出了一个机制:自动装箱和自动拆箱
        * 自动装箱:把基本数据类型会自动的变成其对应的包装类
        * 自动拆箱:把包装类自动的变成其对象的基本数据类型*/

        /*在底层,此时还会去自动调用静态方法valueof得到一个Integer对象,只不过这个动作不需要我们自己去操作了
        * 自动装箱的动作:*/
        Integer i1 = 5;

        //自动拆箱
        Integer i2 = new Integer(5);
        Integer i = i2;
        
        //在JDK5以后,int和Integer可以看做是同一个东西,因为在内部可以自动转化
    }

十一、常用API——包装类_第5张图片


Integer成员方法

十一、常用API——包装类_第6张图片

public static void main(String[] args) {
        //0.把整数转换成二进制
        String str1 = Integer.toBinaryString(100);
        System.out.println(str1); // 1100100

        //1.把整数转换成八进制
        String str2 = Integer.toOctalString(100);
        System.out.println(str2); // 144

        //2.把整数转换成十六制
        String str3 = Integer.toHexString(100);
        System.out.println(str3); // 64

        //3.将字符串类型的整数转成int类型的整数
        //强类型语言:每种数据在Java中都有各自的数据类型
        //在计算的时候,如果不是同一种数据类型,是如法直接计算的。

        int i = Integer.parseInt("123");
        System.out.println(i);
        System.out.println(i + 1);//124
        /*细节1:
        * 在类型转换的时候,括号中的参数只能是数字不能是其他,否则代码会报错
        * 细节2:
        * 8种包装类中国,除了Character都有对应的parseXxx的方法,惊醒类型转换*/
    }

public static void main(String[] args) {
        //键盘录入
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串");
//        String str = sc.next();
//        System.out.println(str);

        /*弊端:
        * 但我们在使用next,nextInt,nextDouble在接收数据的时候,遇到空格、回车、制表符的时候就停止了
        * 我们想要的是接收一整行数据
        * 约定:
        * 以后我们如果想要键盘录入,不管什么类型,统一使用nextLine
        * 特点:遇到回车才停止*/

        System.out.println("nextLine的使用:");
        String str2 = sc.nextLine();
        System.out.println(str2);

		double v = Double.parseDouble(str2);
        System.out.println(v + 1);
    }

你可能感兴趣的:(JAVA,java,开发语言)