java中常用的包装类_java常用类与包装类--包装类

2.基本数据类型数据的包装类

局部变量中基本数据类型直接分配在栈中,而对象分配在堆中

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

包装类主要功能:用于基本数据类型与字符串之间的转换

40a4d3c4647a10b9f8c2e9aeb8fc245d.png

2.1 Integer类

2.1.1构造方法

Integer 类在对象中包装了一个基本类型 int 的值。

此外,该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,还提供了处理 int 类型时非常有用的其他一些常量和方法。

45ee55743c93edce57148e9b58be259d.png

302d6b03648e5e95f7b699868565827c.png

2.1.2包装类和基本数据类型和字符串的转化

5a98cceac4213dd74f647ccdfbbf4842.png

895728f296298ba62d04b3f1225317b5.png

Interger i1=5;//自动装箱

Interger i2=new Interger(1);

Interger i3=Interger.valueOf(3);

288824ca792bfd167e5f46855258fea1.png

int i4 = i1;//自动拆箱

int i5 = i2.intValue();

ac716e4c8b012186d673d7a71de2ba7d.png

String s1 = 5+"";自动装箱

String s2 = String.valueOf(3);

7f9e9d6de848c9ddccb3461e34cb88ac.png

String转换成int值的几种方式:

1.int i1 = Integer.parseInt("12");

2.int i2 = new Integer("12").intValue();

推荐第一种方式,这也是包装类的最常用的场景

字符串转换为其它基本数据类型

byte b = Byte.parseByte("15");

float f = Float.parseFloat("1.5");

double d = Double.parseDouble("3.14");

b2995834307a16fef6bc9c3cccffe209.png

.toString方法

455ef0549c8f6889e95f1457e3fc9c72.png

Integer i8 = new Integer("3");

2.1.3版本说明

74b34644cc001815932baab3a8713497.png

350ad21e7b549d08a32a9849daf7dd20.png

2.1.4int值转换成String

int值转换成String的4种方式:

String s1 = "" + 10;

String s2 = String.valueOf(10);

String s3 = new Integer(10).toString();

String s4 = Integer.toString(10);

推荐使用第一,二种方式

2.1.5 debug自动装箱

f5553c84755d26ca1f500e2041c1c73f.png

18d2bcb367aa115071caf919f3938966.png

0575ef77fa0bd343ad94904d0a4d8695.png

5d95e6833d23f988d7b65f9b8ea28456.png

查看一下拥有调用这个方法所在这个类:

acbbc3bf11fb062510913727cf005fbe.png

4d4f4b81a287dc6886605abc0cbf653e.png

2.1.6练习题

/** 不使用构造方法去创建Integer对象(自动装箱)

* 当值在-128 到 +127之间时,实际返回的是缓冲区中的对象的引用.

*

* 反之调用的是valueOf方法-->new Integer(int value)

**/

public classIntegerDemo5 {public static voidmain(String[] args) {

Integer i1= new Integer(10);

Integer i2= new Integer(10);

System.out.println(i1== i2);//比较的是内存地址 false

Integer i3= 200;

Integer i4= 200;

System.out.println(i3== i4);//false

Integer i5= 100;

Integer i6= 100;

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

}

}

2.2BigInteger类

针对超出Integer表数范围的大数场景,Java提供了BigInteger类,用于大整型数的计算(加减乘除余)

BigInteger add(BigInteger val)

返回其值为 (this + val) 的 BigInteger

BigInteger subtract(BigInteger val)

返回其值为 (this - val) 的 BigInteger。

BigInteger multiply(BigInteger val)

返回其值为 (this * val) 的 BigInteger。

BigInteger divide(BigInteger val)

返回其值为 (this / val) 的 BigInteger。

BigInteger[] divideAndRemainder(BigInteger val)

返回包含 (this / val) 后跟 (this % val) 的两个 BigInteger 的数组。

fb32c036dfe8422f177e1f3c8a170f62.png

2.3BigDecimal类

77b0305bbf29d973bcda13f566acecab.png

针对精确计算的场景,Java提供了BigDecimal类,用于浮点数的精确计算

构造方法:

BigDecimal(double value)

直接使用double参数的构造方法有一定的不预支性

BigDecimal(String value)

必须把他转成String类型才会准确

e7608f44297f4b5ed20ed85375f43297.png

b8b0a5b173d5f5aeab3d41a8d4cd26aa.png

2.4Character类

Character 类在对象中包装一个基本类型 char 的值。

构造方法(只有一个):

Character(char value)

构造一个新分配的 Character 对象,用以表示指定的 char 值。

37846b9330cf49c8b8a357f3be3b9237.png

此外,该类提供了几种方法,

以确定字符的类别(小写字母,数字,等等),

并将字符从大写转换成小写,反之亦然。

都是静态方法

boolean isUpperCase(char ch)

boolean isLowerCase(char ch)

boolean isDigit(char ch)

char toUpperCase(char ch)

char toLowerCase(char ch)

d385e0da332b30d8f4bd3bc349f84f03.png

a8bc4598ac6299405d7a4da85f9387d9.png

5f0f38d8e26471b16d77a298a8dc0fa5.png

30b342f5c86c245456c27f8a18672e32.png

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值