String-不可变的字符串

  1. 每一个看起来会修改String值得方法,其实都是创建了一个全新得String对象public final class String{}
  2. 方法参数传递其实是引用的传递--值传递
  3. StringBuffer方法:append() toString() delete() insert() replace() subString()  reverse()
  4. Java中仅有的两个重载过的操作符:+ += 用于字符串的连接(因为太低效了,编译器使用StringBuffer进行连接)(Java不允许程序员重载任何操作符);;但是若使用循环等操作或者可能让编译器创建多个StringBuffer的方法,建议直接自己使用StringBuffer,工具的出现不是为了让你变笨变懒而是节省你的时间
  5. toString() 打印内存地址-super.toString()  而不能使用this 因为使用this会调用toString然后就重复了
  6. Java自带的反编译:javap -c ClassName (-c表示生成JVM字节码)
  7. 格式化输出:System.out.format("%d %f",x,y)   System.out.printf("%d %f",x,y)  
  8. java.util.Formatter.format()----构造器传入PrintStream、OutputStream和file
  9. 与上一个方法类似,String.format(static方法)直接返回一个格式化的字符(上个方法直接输出)
  10. 格式化说明符:默认右对齐(可用flages:-该改变对齐方向),以空格填充
  11. %[argument_index$][flages][width][.precision]conversion

%[表示第几个变量从1开始][标识][域的最小尺寸][.最大尺寸]

flages:部分

+    带上正负号        (    将负数扩在括号内       ,    添加分组控制符        0   前面用0填充       -    对齐方式

precision不像width一样可以用于各种类型的数据转换,用在String表示String输出字符的最大数量;用在浮点数表示小数部分要显示出来的位数(默认6位),过多舍入,过少尾部补零,无法应用于整数,用于整数throw Exception

conversion:部分

d    整数(十进制)        x    整数(十六进制)        f    浮点数(十进制)        e    科学计数的浮点数

c    Unicode字符        b    Boolean值               s    String       h    散列值(16进制)        %字符’%‘

不推荐的StringTokenizer以及推荐的Scanner(定界符)

StringTokenizer stoke = new StringTokenizer("I am a man!");
while(stoke.hasMoreElements())
    System.out.print(stoke.nextToken() + "@");

// I@am@a@man!@

//Scanner可以接受任何类型的输入对象File、InputStream、String、Readable
Scanner scanner = new Scanner ("I am a man!");
while(stoke.hasNext())//hasNext(正则表达式) {
    System.out.print(stoke.next() + "#");
    //若使用两组正则表达式 ()()可使用下述方法
    //MatchResult match = scanner.natch();
    //String group1 = match.group(1);
    //String group2 = match.group(1);
    //Scanner默认使用空白字符对输入进行粉刺,但是你可以用正则表达式指定自己所需的定界符
    //scanner.useDelimiter("\\s*,\\s*");
}
// I#am#a#man!#

Scanner可以接受任何类型的输入对象File、InputStream、String、Readable

Scanner有一个假设,在输入结束时会抛出IOException,所以Scanner会把IOException吞掉

Scanner读取数据nextLine() nextInt()等

总结

String常用方法及StringBuffer的常用应用

格式化输出(String.format()以及Formatter.format)

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值