CC00006.bigdatajava——|Java&核心类库.V06|——|Java.v06|Integer类概念|构造方式|装箱拆箱机制|常用方法|

一、[Integer类概念构造方式]——[Integer类的装箱和拆箱机制]——[Integer类的常用方法]
### --- Integer类的概述

~~~     # 基本概念
~~~     ——>        java.lang.Integer类内部包装了一个int类型的变量作为成员变量,
~~~     ——>        主要用于实现对int类型的包装并提供int类型到String类之间的转换等方法。
二、常用的常量
常量类型和名称功能介绍
public static final int MAX_VALUE表示int类型可以描述的最大值,即2^31-1
public static final int MIN_VALUE表示int类型可以描述的最小值,即-2^31
public static final int SIZE表示int类型采用二进制补码形式的位数
public static final int BYTES表示int类型所占的字节个数
public static final Class TYPE表示int类型的Class实例
三、常用的方法
方法声明功能介绍
Integer(int value)根据参数指定的整数来构造对象(已过时)
Integer(String s)根据参数指定的字符串来构造对象 (已过时)
int intValue() 获取调用对象中的整数值并返回
static Integer valueOf(int i)根据参数指定整数值得到Integer类型对象
boolean equals(Object obj) 比较调用对象与参数指定的对象是否相等
String toString()返回描述调用对象数值的字符串形式
static int parseInt(String s)将字符串类型转换为int类型并返回
static String toString(int i) 获取参数指定整数的十进制字符串形式
static String toBinaryString(int i) 获取参数指定整数的二进制字符串形式
static String toHexString(int i)获取参数指定整数的十六进制字符串形式
static String toOctalString(int i) 获取参数指定整数的八进制字符串形式
四、装箱和拆箱的概念
### --- 装箱和拆箱的概念

~~~     ——>        在Java5发布之前使用包装类对象进行运算时,
~~~     ——>        需要较为繁琐的“拆箱”和“装箱”操作;
~~~     ——>        即运算前先将包装类对象拆分为基本类型数据,运算后再将结果封装成包装类对象。
~~~     ——>        从Java5开始增加了自动拆箱和自动装箱的功能。
五、自动装箱池
### --- 自动装箱池

~~~     ——>        在Integer类的内部提供了自动装箱池技术,
~~~     ——>        将-128到127之间的整数已经装箱完毕,当程序中使用该范围之间的整数时,
~~~     ——>        无需装箱直接取用自动装箱池中的对象即可,从而提高效率。
六、编程代码
package com.yanqi.task11;

public class IntegerTest {

    public static void main(String[] args) {

        // 1.打印Integer类中常用的常量数值
        System.out.println("最大值是:" + Integer.MAX_VALUE); // 2^31-1
        System.out.println("最小值是:" + Integer.MIN_VALUE); // -2^31
        System.out.println("所表示二进制的位数是:" + Integer.SIZE); // 32
        System.out.println("所占字节的个数是:" + Integer.BYTES); // 4
        System.out.println("对应int类型的Class实例是:" + Integer.TYPE); // int

        System.out.println("------------------------------------------------------");
        // 2.使用构造方法来构造Integer类型的对象并打印
        //Integer it1 = new Integer(123);
        //System.out.println("it1 = " + it1); // 自动调用toString方法   123
        //Integer it2 = new Integer("456");
        //System.out.println("it2 = " + it2); // 456
        // 上述方法已过时,建议使用valueOf方法取代之,相当于从int类型到Integer类型的转换,叫做装箱
        Integer it3 = Integer.valueOf(123);
        System.out.println("it3 = " + it3); // 123
        // 相当于从String类型到Integer类型的转换
        Integer it4 = Integer.valueOf("456");
        System.out.println("it4 = " + it4); // 456   自动调用toString方法得到的是String类型
        // 获取调用对象中的整数数值,相当于从Integer类型到int类型的转换,叫做拆箱
        int ia = it4.intValue();
        System.out.println("获取到的整数数据是:" + ia); // 456  得到的是int类型

        System.out.println("------------------------------------------------------");
        // 3.从Java5开始增加了自动装箱和自动拆箱的机制
        Integer it5 = 100;  // 直接通过赋值运算符实现自动装箱
        int ib = it5;       // 直接通过赋值运算符实现自动拆箱

        System.out.println("------------------------------------------------------");
        // 4.装箱和拆箱的笔试考点
        Integer it6 = 127; //128;
        Integer it7 = 127; //128;
        Integer it8 = new Integer(127); //new Integer(128);
        Integer it9 = new Integer(127); //new Integer(128);
        System.out.println(it6 == it7);      // 比较地址  false  true  地址一样
        System.out.println(it6.equals(it7)); // 比较内容  true
        System.out.println(it8 == it9);      // 比较地址  false
        System.out.println(it8.equals(it9)); // 比较内容  true

        System.out.println("------------------------------------------------------");
        // 5.实现静态方法的调用
        int ic = Integer.parseInt("200");
        //int ic = Integer.parseInt("200a"); // 编译ok,运行发生NumberFormatException数字格式异常,因为有字母
        System.out.println("字符串转换为整数的结果是:" + ic); // 200
        System.out.println("根据参数指定的整数获取对应的十进制字符串是:" + Integer.toString(200));
        System.out.println("根据参数指定的整数获取对应的二进制字符串是:" + Integer.toBinaryString(200));
        System.out.println("根据参数指定的整数获取对应的十六进制字符串是:" + Integer.toHexString(200));
        System.out.println("根据参数指定的整数获取对应的八进制字符串是:" + Integer.toOctalString(200));
    }
}
七、编译打印
D:\JAVA\jdk-11.0.2\bin\java.exe "-javaagent:D:\IntelliJIDEA\IntelliJ IDEA 2019.3.3\lib\idea_rt.jar=49757:D:\IntelliJIDEA\IntelliJ IDEA 2019.3.3\bin" -Dfile.encoding=UTF-8 -classpath E:\NO.Z.10000——javaproject\NO.H.00001.javase\javase\out\production\javase com.yanqi.task11.IntegerTest
最大值是:2147483647
最小值是:-2147483648
所表示二进制的位数是:32
所占字节的个数是:4
对应int类型的Class实例是:int
------------------------------------------------------
it3 = 123
it4 = 456
获取到的整数数据是:456
------------------------------------------------------
------------------------------------------------------
true
true
false
true
------------------------------------------------------
字符串转换为整数的结果是:200
根据参数指定的整数获取对应的十进制字符串是:200
根据参数指定的整数获取对应的二进制字符串是:11001000
根据参数指定的整数获取对应的十六进制字符串是:c8
根据参数指定的整数获取对应的八进制字符串是:310

Process finished with exit code 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yanqi_vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值