博学谷——让IT教学更简单,让IT学习更有效
二、案例实现
public class Example05 {
public static void main(String[] args) {
String s = \
System.out.println(\将字符串s中的字符l替换成p后:\
System.out.println(\将字符串s中的字符ll替换成ak47后:\ s.replace(\
String ages = \
String[] strArray = ages.split(\
for (int x = 0; x < strArray.length; x++) {
System.out.println(\数组中的索引为\处的值是:\ +strArray[x]);
}
String name = \
System.out.println(\去掉首尾空格后的字符串name:\String s1 = \String s2 = \
System.out.println(\按照默认字典的顺序比较字符串s1和s2:\ s1.compareTo(s2));// 7 } }
运行结果如图6-8所示。
图6-8
运行结果
三、案例总结
1、trim()方法只能去除两端的空格,不能去除中间的空格。若想去除字符串中间的空格,则可以调用String类的replace()方法。
2、compareTo()的返回值是整型,它是先比较对应字符的大小(ASCII码顺序)。如果第一个字符和参数的第一个字符不等,则结束比较并返回他们之间的差值;如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推。直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度。
9
博学谷——让IT教学更简单,让IT学习更有效
案例6-6 StringBuffer类的添加和删除操作
一、案例描述
1、 考核知识点
编号:00106003
名称:StringBuffer类
2、 练习目标
? 掌握String和StringBuffer的区别。
? 掌握如何使用StringBuffer对象的添加和删除方法操作字符序列。
3、 需求分析
StringBuffer类有很多操作字符的方法,其中append()和insert()是常用的添加字符方法,delete()是常用的删除字符方法。为了让初学者对StringBuffer类中的添加、删除方法有更深入的了解,本案例将演示StringBuffer对象的添加、删除操作。
4、 设计思路(实现原理)
1) 编写Example06类。
2) 在main()方法中,使用StringBuffer类中的方法,依次实现字符序列的添加和删除操作。 3) 将添加和删除操作的结果输出,根据打印结果,熟悉各个方法的作用。
二、案例实现
public class Example06 { }
// 创建对象
StringBuffer sb = new StringBuffer(); System.out.println(\
System.out.println(\的添加方法****\
sb.append(100).append(\
System.out.println(\使用StringBuffer对象添加任意数据类型的数据后sb:\+ sb); sb.insert(8, \
System.out.println(\在sb的第9个位置插入'world'字符串后sb:\System.out.println(\的删除方法****\sb.deleteCharAt(1);
System.out.println(\删除sb中第2个位置的字符后sb:\sb.delete(5, 10);
System.out.println(\删除sb中第6个到第11个字符后的sb:\}
运行结果如图6-9所示。
10
博学谷——让IT教学更简单,让IT学习更有效
图6-9
运行结果
三、案例总结
1、访问StringBuffer对象中的字符时,不能超出字符的索引范围,否则会出现异常,这与数组中的角标越界异常非常相似。
2、思考一下:String类和StringBuffer类同样是操作字符串的相关类,那么他们有什么不同之处呢? a) String类表示的字符串是常量,一旦创建后,内容和长度都是无法改变的。而StringBuffer表示字
符容器,其内容和长度都可以随时修改。在操作字符串时,如果该字符串仅用于表示数据类型,则使用String类即可,但是如果需要对字符串中的字符进行增删操作,则使用StringBuffer类。 b) String类覆盖了Object类的equals()方法,而StringBuffer类没有覆盖Object类的equals()方法,
具体示例如下:
String s1 = new String(\String s2 = new String(\
System.out.println(s1.equals(s2)); // 打印结果为true StringBuffer sb1 = new StringBuffer(\StringBuffer sb2 = new StringBuffer(\
System.out.println(sb1.equals(sb2)); // 打印结果为false
c) String类对象可以用操作符“+”进行连接,而StringBuffer类对象之间不能,具体示例如下:
String s1 = \String s2 = \
String s3 = s1+s2; // 合法 System.out.println(s3); // 打印输出 ab StringBuffer sb1 = new StringBuffer(\StringBuffer sb2 = new StringBuffer(\
StringBuffer sb3 = sb1+sb2; // 编译出错
案例6-7 StringBuffer类的替换、截取和反转操作
一、案例描述
1、 考核知识点
编号:00106003
11
博学谷——让IT教学更简单,让IT学习更有效
名称:StringBuffer类
2、 练习目标
? 掌握如何使用StringBuffer对象的替换、截取和反转方法操作字符序列。
3、 需求分析
StringBuffer类有很多操作字符的方法,其中replace(int start, int end, String str)是用来替换字符的方法;substring(int start) 和substring(int start, int end)是用来截取字符的方法;reverse()是用来反转字符顺序的方法。为了让初学者快速的熟悉上述方法的作用,本案例将根据这些方法,演示字符序列的替换、截取和反转操作。
4、 设计思路(实现原理)
1) 编写Example07类。
2) 在main()方法中,通过StringBuffer类的替换、截取和反转等方法依次实现对字符序列的操
作。
3) 将替换、截取和反转操作的结果输出,根据打印结果,加深不同方法的理解。
二、案例实现
public class Example07{ }
public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
sb.append(\System.out.println(\追加字符串后的sb:\
System.out.println(\字符序列的替换方法**** \ sb.replace(5, 10, \林青霞\
System.out.println(\使用replace()方法替换后的sb:\ System.out.println(\字符序列的截取方法**** \ String s = sb.substring(5);
System.out.println(\使用substring()方法截取后的s:\System.out.println(\
System.out.println(\字符序列的反转方法**** \ sb.reverse();
System.out.println(\使用reverse()方法反转后的sb:\ }
运行结果如图6-10所示。
图6-10 运行结果
12