包装类(自动拆箱与自动装箱)

概念:

基本数据类型有8种.基本数据类型效率高,但是功能及其有限,只能做加减乘除运算.为了对基本数据类型进行更多的操作,Java为每种基本数据类型提供了对应的类(包装类),

作用:

用于基本数据类型与字符串之间的转换
将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据
常用的操作之一:用于基本数据类型与字符串之间的转换(”123″->123)

基本类型对应的包装类:

基本数据类型包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean
Integer类:

概念:

包装一个对象中的原始类型 int 的值

Integer类构造方法:

方法名说明
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
    public static void main(String[] args) {
            //public static Integer valueOf(int i):返回表示指定的 int 值的 Integer 实例
            Integer i = Integer.valueOf(1998);
            System.out.println(i);

            //public static Integer valueOf(String s):返回一个保存指定值的Integer对象 String
            Integer i2 = Integer.valueOf("1998");
            System.out.println(i2);
    }
自动拆箱和自动装箱:

自动装箱:

把基本数据类型转换为对应的包装类类型

自动拆箱:

把包装类类型转换为对应的基本数据类型

    public static void main(String[] args) {
        // 自动装箱  i = i + 200;  i + 200 自动拆箱把i转int进行计算;;i = 100 + 200;
        Integer i = 100;
        i += 200;
        System.out.println(i);

        int i2 = i;  //自动拆箱
        System.out.println(i2);

        Integer i3 = null;
        i3 += 200;
        System.out.println(i3); // 报错NullPointerException,为null可以转给Integer,但是无法转给int,所以报错
    }

NullPointerException:应用程序应抛出此类的实例以指示null对象的其他非法用法
总结:所以不管是不是Integer类型,只要是对象,在使用前就必须做非空判断

常用方法:

方法名说明
public static byte parseByte(String s)将字符串参数转换为对应的byte基本类型。
public static short parseShort(String s)将字符串参数转换为对应的short基本类型。
public static int parseInt(String s)将字符串参数转换为对应的int基本类型。
public static long parseLong(String s)将字符串参数转换为对应的long基本类型。
public static float parseFloat(String s)将字符串参数转换为对应的float基本类型。
public static double parseDouble(String s)将字符串参数转换为对应的double基本类型。
public static boolean parseBoolean(String s)将字符串参数转换为对应的boolean基本类型。
int和String类型的相互转换:

int转换为String:

  1. 直接在数字后加一个空字符串
  2. 通过String类静态方法valueOf()

String转换为int:

先将字符串数字转成Integer,再调用valueOf()方法
通过Integer静态方法parseInt()进行转换

代码演示:

    public static void main(String[] args) {
        
        int i1 = 100;
        String s = "100";

        // int转换为String  方法一:直接加双引号
        String s2 = i1 + "";
        System.out.println(s2);

        // int转换为String  方法二:通过String类静态方法valueOf()
        String s3 = String.valueOf(i1);
        System.out.println(s3);

        // String转换为int   通过Integer静态方法parseInt()进行转换

        int i2 = Integer.parseInt(s);
        System.out.println(i2);

    }

字符串数据排序:
需求:有一个字符串:“91 27 46 38 50”,请写程序实现最终输出结果是:27 38 46 50 91

    public static void main(String[] args) {
        // 定义字符串
        String s = "91 27 46 38 50";

        //把字符串中的数字数据存储到一个int类型的数组中
        String[] strArray = s.split(" ");

        //定义一个int数组,把 String[] 数组中的每一个元素存储到 int 数组中
        int[] arr = new int[strArray.length];

        for (int i = 0; i < arr.length; i++) {
            arr[i] = Integer.parseInt(strArray[i]);
        }
        
        //对 int 数组进行排序
        Arrays.sort(arr);

        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

itzhuzhu.

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

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

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

打赏作者

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

抵扣说明:

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

余额充值