一、StringBuffer
StringBuffer :
1.线程安全的可变字符序列(可变的字符串) JDK1.0
2.一个类似于 String 的字符串缓冲区
3. 某些方法调用可以改变该序列的长度和内容 append() insert()添加
String StringBuffer 相同点: 都是对字符序列进行操作
不同点:
- String 的数据是不可变的 StringBuffer 的内容是可变的
- StringBuffer 自带缓存区,读取数据块,效率更高
StringBuffer的构造: StringBuffer() 无参的构造 : 默认会给16个字符大小的缓冲区
capacity() 是获取缓冲区容量的大写
StringBuffer(int capacity) 会默认给一个容量的大小值
StringBuffer 常规的一次方法
追加: 1. append() 向末尾追加数据
2. insert(int offset, char c) 向指定位置追加数据
offset: 第一参数传递是追加的索引 char 追加的字符
删除 : deleteCharAt(int index) 根据索引进行删除
delete(int start, int end) 根据区间进行删除
start:开始区间 end:结束区间 索引从0 开始 包头不包尾
获取
charAt(int index) 根据索引获取字符
indexOf(String str) 查找是否存在这个字符, 存在返回当前的索引, 不存在返-1
length() 获取字符串的长度
replace(int start, int end, String str) 替换 根据区间来进行替换
reverse() 控制翻转
toString() 转换成String
StringBuffer 与 String的相互转换
String转换成一个StringBuffer
1. 通过构造方法 new StringBuffer(“abc”);
2. 通过调用其append new StringBuffer().append(“abc”)’;
StringBuffer 转换成一个String
1. 通过toString() 方法 2. 通过String构造方法 new String(sb)
二、StringBuilder
StringBuffer和StringBuilder的区别
三、基本类型的包装类
1、Integer类型
2、自动装箱和拆箱
四、正则表达式
数量词
字符串中和正则表达式有关的三个方法
五、练习
1.编写程序将 “jdk” 全部变为大写,并输出到屏幕,截取子串”DK” 并输出到屏幕
2.写一个方法判断一个字符串是否对称
3.编写一个程序,将下面的一段文本中的各个单词的字母顺序翻转:“To be or not to be",将变成"oT eb ro ton ot eb."。
4.String s=”name=zhangsan age=18 classNo=090728”;
将上面的字符串拆分,结果如下:zhangsan 18 090728
5.使用两种方法把这个字符串中的单词首字母转为大写:
String str = “hello Java and Android!”
6、编程. 已知字符串:“this is a test of java”.
按要求执行以下操作:
(1) 统计该字符串中字母s出现的次数
(2) 取出子字符串"test"
(3) 用多种方式将本字符串复制到一个字符数组Char[] str中.
(4) 将字符串中每个单词的第一个字母变成大写, 输出到控制台。
(5) 用两种方式实现该字符串的倒叙输出。(用StringBuffer和for循环方式分别实现)
(6) 将本字符串转换成一个字符串数组,要求每个数组元素都是一个有意义的额英文单词,并输出到控制台
7、去除控制台输入字符串的首尾为 * 的字符