【JAVA06】BigDemal、String

复习

Math

在这里插入图片描述

判断空值

在这里插入图片描述

BigDecimal

描述一个小数。超过16位有效位的数进行精准计算。
代码中直接写小数默认是double值

new BigDecimall(“5.5”);

两个对象不能直接相加,add不是直接将结果赋值给b1,而是返回。

在这里插入图片描述

常用方法

减法 、乘法

在这里插入图片描述

除法要考虑到是否能除尽
在这里插入图片描述
在这里插入图片描述

除数,保留几位小数,模式(final的值)

在这里插入图片描述

在这里插入图片描述

两种方式

在这里插入图片描述

setScale格式化小数点

在这里插入图片描述

equals toString

结果是false ,== 比的是地址

在这里插入图片描述

在这里插入图片描述

String

面试题: == 和 equals 的区别

在这里插入图片描述

String类型的对象,底层实际是一个final修饰的char类型的数组
![在这里插入图片描述](https://img-blog.csdnimg.cn/d133695ed70e48c485cafcccb7b162a5.png在这里插入图片描述

在这里插入图片描述

常用方法

String 创建是不可变的,返回值是变化的。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

字符串常量池

减少内存开销
字符串不可变 (final + private)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

StringBuffer StringBuilder

面试题: String 和StringBuffer StringBuilder 的区别

本质区别就是char数组加没加private去修饰
在这里插入图片描述

toString 是开新堆

在这里插入图片描述

字符串补充

字符串拼接

append
p变量是new 了新堆的结果

在这里插入图片描述

r 是在常量池里

在这里插入图片描述

在这里插入图片描述

s和r 内存地址不相等,因为s是变量,在编译的时候不确定

intern()方法

查看常量池中是否有存在值
在这里插入图片描述

常量池里只有"of" “aa”
在这里插入图片描述
变量v 实际上开了一块普通的堆
w 用的是常量池已经存在的地址引用
常量池里存放的是引用,指向v 开的普通的堆

在这里插入图片描述

引号里面是常量
s3是开新堆(普通堆),已经有了abcd
intern只后是常量池里的地址(s4)
结果是false
在这里插入图片描述

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值