Java基础——常用对象API(3):基本数据类型对象包装类

本文详细介绍了Java中基本数据类型及其对应的包装类,包括byte、short、int、long、float、double、char和boolean的使用。探讨了字符串与基本数据类型之间的转换方法,如parseInt、parseFloat等,并讲解了进制之间的转换,如二进制、八进制和十六进制到十进制的转换。此外,还介绍了自动装箱和拆箱的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.概念

为了方便操作基本数据类型值,将其封装成了对象,在对象中定义了属性和行为,丰富了该数据的操作。用于描述该对象的类就称为基本数据类型对象包装类。
该包装对象主要用于基本类型字符串之间转换

byte Byte
short Short
int Integer
long Long

float Float
double Double

char Character

boolean Boolean

System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.toBinaryString(-12));

int num = 3;
Integer i = new Integer(num);

2.字符串转成基本数值

  1. 使用包装类中的基本方法 xxx parseXxx(“xxx类型的字符串”)

int parseInt(“intString”)
long parseLong(“longString”)
boolean parseBoolean(“booleanString”)
只有character没有parse

System.out.println("54"+1);//541
System.out.println(Integer.parseInt("54")+1);//55
System.out.println(Integer.parseInt("54abc")+1);//NumberFormatException

if(Boolean.parseBoolean("true")) {
            
}

ps: 基本数据类型转成字符串:

int a = 3;
System.out.println(“”+a+2);//32
System.out.println(String.valueOf(a)+2);//32
  1. 如果字符串被Integer进行对象的封装,可以使用一个非静态的方法:intValue();
    将一个Integer对象转成基本数据类型值。
Integer i = new Integer("34");
System.out.println(i.intValue());

3. 进制转换

3.1 十进制—>其他进制

System.out.println(Integer.toBinaryString(60));//111100
System.out.println(Integer.toOctalString(60));//74
System.out.println(Integer.toHexString(60));//3c

System.out.println(Integer.toString(60,2));//111100
System.out.println(Integer.toString(60,8));//74
System.out.println(Integer.toString(60,16));//3c

3.2 其他进制—>十进制

parseInt(“string”,radix)

System.out.println(Integer.parseInt("111100",2));//60
System.out.println(Integer.parseInt("74",8));//60
System.out.println(Integer.parseInt("3c",16));//60
Integer a = new Integer("3");
Integer b = new Integer(3);
        
System.out.println(a==b);//false
System.out.println(a.equals(b));//true  Integer类型的equals方法被改写,改成比较值的大小

Integer c = new Integer("54");
Integer d = new Integer(3);
System.out.println(c.compareTo(d));//1

4.自动装箱拆箱

int num = 4;
num = num+4;

Integer i = 4;//Integer i = Integer.valueOf(4) ;自动装箱,简化书写
i = i+4;//i = Integer.valueOf(i.intValue() + 4) ;自动拆箱,再自动装箱
System.out.println("i:"+i);//System.out.println(new StringBuilder("i:").append(i).toString() );

Integer ii = null;
ii += 3;//NullPointerException

Integer.valueOf():返回一个拥有int类型值的Integer类型对象。
intValue():将Integer的值作为int返回。

        Integer i1 = new Integer(127);
        Integer i2 = new Integer(127);
        System.out.println(i1 == i2);//false
        System.out.println(i1.equals(i2));//true

        Integer i3 = new Integer(128);
        Integer i4 = new Integer(128);
        System.out.println(i3 == i4);//false
        System.out.println(i3.equals(i4));//true

        Integer i5 = 127;
        Integer i6 = 127;
        System.out.println(i5 == i6);//true
        System.out.println(i5.equals(i6));//true

        Integer i7 = 128;
        Integer i8 = 128;
        System.out.println(i7 == i8);//false
        System.out.println(i7.equals(i8));//true

针对-128——127之间的数据,做了一个缓冲池,如果数据是该范围内的,则不创建新的空间,因此上述代码的s5==s6,即s5的地址等于 s6的地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值