java包装类

包装类

基本类型包装类

基本类型包装类的作用:

将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据

常用的操作之一:用于基本数据类型与字符串之间的转换

基本类型对应的包装类:

基本数据类型包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean
package com.itheima.myinteger;

public class MyIntegerDemo1 {
    public static void main(String[] args) {
        //需求:我要判断一个整数是否在 int 范围内?
        //Integer  MAX_VALUE:最大值  MIN_VALUE:最小值
        System.out.println(Integer.MAX_VALUE);
        System.out.println(Integer.MIN_VALUE);
    }
}

Integer 类的概述和使用

Integer:该对象中包装了一个基本数据类型int的值

方法名说明
public Integer(int value)根据 int 值创建 Integer 对象**(过时**)
public Integer(String s)根据 String 值创建 Integer 对象(过时)
public static Integer valueOf(int i)返回表示指定的 int 值的 Integer 实例
public static Integer valueOf(String s)返回一个保存指定值的 Integer 对象 String
package com.itheima.myinteger;

public class MyIntegerDemo2 {
    public static void main(String[] args) {
//        public Integer(int value)   		根据int创建Integer对象(过时)
//public Integer(String s)    		根据String值创建Integer对象(过时)
        Integer i1 = new Integer(100);
        Integer i2 = new Integer("100");
        System.out.println(i1);
        System.out.println(i2);


//        public static Integer valueOf​(int i)    返回表示指定的int值的Integer实例
//        public static Integer valueOf​(String s) 返回一个保存指定值的Integer对象String

        Integer i3 = Integer.valueOf(200);
        Integer i4 = Integer.valueOf("200");
        System.out.println(i3);
        System.out.println(i4);
    }
}

自动装箱和自动拆箱

  • 装箱:把基本数据类型转换为对应的包装类类型
  • 拆箱:把包装类类型转换为对应的基本数据类型
  • 实列代码
Integer i = 100;  // 自动装箱
i += 200;         // i = i + 200;  i + 200 自动拆箱;i = i + 200; 是自动装箱

注意:在使用包装类类型的时候,如果做操作,最好先判断是否为 null
我们推荐的是,只要是对象,在使用前就必须进行不为 null 的判断

案例:

package com.itheima.myinteger;

import java.util.ArrayList;

public class MyIntegerDemo3 {
    public static void main(String[] args) {
        Integer i1 = 100;
        //   对象      = 默认是一个基本数据类型

        //jdk1.5的特性 --- 自动装箱

        //装箱: 把一个基本数据类型 变量对应的包装类.
        //自动: Java底层会帮我们自动的调用valueof方法.
        System.out.println(i1);

        //jdk1.5的特性 --- 自动拆箱
        //拆箱: 把一个包装类型 变成对应的基本数据类型
        int i2 = i1;
        System.out.println(i2);

        Integer i3 = 100; //自动装箱机制
        i3 += 200;//i3 = i3 + 200;
                   //会把i3这个对象变成基本数据类型100.
                    //100 + 200 = 300
                //把基本数据类型300再次自动装箱变成Integer对象赋值给i3
        System.out.println(i3);


        //细节:
        Integer i4 = null;
        if(i4 != null){
            i4 += 200;
            System.out.println(i4);
        }


    }
}

Integer的成员方法

方法名说明
static int parseInt(String s)将字符串类型的整数变成int类型的整数

int 和 String 的相互转换

基本类型包装类的最常见操作就是:用于基本类型和字符串之间的相互转换

  1. int 转换为 String
    方式一:加双引号即可
    方式二:public static String valueOf(int i):返回 int 参数的字符串表示形式。该方法是 String 类中的方法

  2. String 转换为 int
    public static int parseInt(String s):将字符串解析为 int 类型。该方法是 Integer 类中的方法

package com.itheima.myinteger;

public class MyIntegerDemo4 {
    public static void main(String[] args) {
         //String --- int
        String s1 = "100";
        int i1 = 200;
        System.out.println(s1 + i1);//100200 --- 字符串+任意的数据类型 结果都是一个字符串
        
		//方式2:public static int parseInt(String s)
        int i2 = Integer.parseInt(s1);//可以将字符串类型的整数变成int类型的整数
        System.out.println(i2 + i1);


        //int  ---> String
        //方式一: +""
        int i3 = 100;
        String s2 = i3 + "";
        System.out.println(s2 + 100);

        //方式二: 可以调用String类中valueof方法
        String s3 = String.valueOf(i3);
        System.out.println(s3 + 100);

    }
}

案例:字符串中数据排序

需求:有一个字符串:“91 27 46 38 50”,把其中的每一个数存到int类型的数组中

思路:
定义一个字符串
把字符串中的数字数据存储到一个int类型的数组中
两个难点:如何获取到里面的每一个值
如何把每一值变成int类型再存入数组
遍历数组输出结果

package com.itheima.myinteger;

public class MyIntegerDemo5 {
    //需求:有一个字符串:“91 27 46 38 50”,把其中的每一个数存到int类型的数组中
    //步骤:
    //定义一个字符串
    //把字符串中的数字数据存储到一个int类型的数组中
    //遍历数组输出结果
    public static void main(String[] args) {
        String s = "91 27 46 38 50";
        //获取字符串中的每一个数字.
        String[] strArr = s.split(" ");

        //创建一个int类型的数组.
        int[] numberArr = new int[strArr.length];

        //把strArr中的数据进行类型转换并存入到int数组中
        for (int i = 0; i < strArr.length; i++) {
            int number = Integer.parseInt(strArr[i]);
            numberArr[i] = number;
        }
        //先排序,再遍历
        //遍历int类型的数组
        for (int i = 0; i < numberArr.length; i++) {
            System.out.println(numberArr[i]);
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值