《thinking in java》学习笔记13

字符串
不可变String
  • String是不可变的,每个看似修改String值得方法实际上都是创建了一个新的String对象
  • 当把String对象作为方法的参数时都会复制一份引用

重载“+”与StringBuilder
  • “+”可以用来连接String
  • 编译器会自动使用StringBuilder,但是显式的创建StringBuilder可以预先为其指定大小,避免多次重新分配缓存
  • StringBuilder更快,StringBuffer是线程安全的,但是开销更大

无意识的递归
  • 打印内存对象的地址应该调用Object.toString()

String上的操作
《thinking <wbr>in <wbr>java》学习笔记13


格式化输出
  • format方法模仿c的printf(),format()和printf()是等价的
  • 所有新的格式化功能由java.util.Formatter类处理
  • 格式化说明符%[argument_index$][flags][width][.precision]conversion,分别表示参数在参数列表中的位置,修改输出格式的字符集,最小尺寸,最大尺寸,类型。
  • precision用于字符表示最大长度。浮点数比哦啊是小数点后位数,默认为六位,多则舍入,少则补零。整数抛出异常
  • 默认情况下是右对齐,可以添加“-”标志改变对齐方向
  • 类型:十进制整数d unicode字符c boolean值b 字符串s 十进制浮点数f 科学计数浮点数e 十六进制整数x 十六进制散列码h 百分号%
  • String.format()是一个静态方法,返回一个String对象

扫描输入
  • Scanner构造器可以接受任何类型的输入对象
  • 普通的next方法返回下一个String
  • 默认情况下根据空白字符对输入进行分词,但是可以用正则表达式指定自己的定界符
  • 可以使用自定义的正则表达式进行扫描,当next配合正则表达式使用时,将找到下一个匹配该模式的输入部分,调用match方法可以获得匹配结果。
  • 它仅针对下一个输入分词进行匹配,如果正则表达式中有定界符,那么不可能匹配成功

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值