1.实例操作一:字符串连接操作


范例:通过append连接各种类型的数据

package org.lxh.demo11.stringbufferdemo;  
 public class StringBufferDemo01 {  
     public static void main(String[] args) {  
         StringBuffer buf = new StringBuffer();  
     // 声明StringBuffer对象  
         buf.append("Hello ");  
                     // 向StringBuffer中添加  
 内容  
         buf.append("World").append("!!!");      
 // 可以连续调用append方法  
         buf.append("\n");  
                         // 添加一个转义字符表示换行  
         buf.append("数字 = ").append(1).append("\n"); 
 // 可以添加数字  
         buf.append("字符 = ").append('C').append("\n");  
 // 可以添加字符  
         buf.append("布尔 = "). append(true);  
         // 可以添加布尔类型  
         System.out.println(buf);  
                     // 内容输出  
     }  
 }


程序运行结果:
Hello World!!!  
数字 = 1 
字符 = C  
布尔 = true 


2.实例操作二:在任意位置处为StringBuffer添加内容

范例:在任意位置处为StringBuffer添加内容

package org.lxh.demo11.stringbufferdemo;  
 public class StringBufferDemo03 {  
     public static void main(String[] args) {  
         StringBuffer buf = new StringBuffer();  
 // 声明StringBuffer对象  
         buf.append("World!!");  
                 // 向StringBuffer中添加内容  
         buf.insert(0, "Hello ") ;               // 在所有内容之前添加  
         System.out.println(buf);  
             // 将修改后的结果输出  
         buf.insert(buf.length(),"MLDN ~") ; // 在最后添加  
         System.out.println(buf);                // 将内容输出  
     }  
 }


程序运行结果:
Hello World!!  
Hello World!!MLDN ~ 


3.实例操作三:字符串反转操作
在StringBuffer中专门提供了字符串反转的操作方法,所谓的字符串反转就是指将一个是"Hello"的字符串转为"olleH"。
范例:字符串反转操作

package org.lxh.demo11.stringbufferdemo;  
 public class StringBufferDemo04 {  
     public static void main(String[] args) {  
         StringBuffer buf = new StringBuffer();  
 // 声明StringBuffer对象  
         buf.append("World!!");  
                 // 向StringBuffer中添加内容  
         buf.insert(0, "Hello ") ;             
 // 在所有内容之前添加  
         String str = buf.reverse().toString() ;
 // 将内容反转后变为String类型   
         System.out.println(str);            
 // 将内容输出  
     }  
 }


程序运行结果:
!!dlroW olleH 
以上程序通过append()和insert()方法向StringBuffer加入数据后,使用reverse()方法将所有的内容以逆序的方式输出。
U提示:字符串反转操作是一种较为常见的操作。
在字符串的操作中,反转是一种较为常见的操作,最早的字符串反转实际上是通过入栈及出栈功能完成的,关于栈(Stack)在Java类集中将为读者介绍。


4.实例操作四:替换指定范围的内容
在StringBuffer类中也存在replace()方法,使用此方法可以对指定范围的内容进行替换。
范例:替换指定范围的内容

package org.lxh.demo11.stringbufferdemo;  
 public class StringBufferDemo05 {  
     public static void main(String[] args) {  
         StringBuffer buf = new StringBuffer();  
         // 声明StringBuffer  
 对象  
         buf.append("Hello ").append("World!!");  
     // 向StringBuffer中  
 添加内容  
         buf.replace(6, 11, "LiXingHua");  
             // 将World替换为  
 LiXingHua   
         System.out.println("内容替换之后的结果:" 
 + buf); // 删除替换之后的内容  
     }  
 }


程序运行结果:
内容替换之后的结果:Hello LiXingHua!! 
在String中如果要进行替换,则使用的是replaceAll()方法,而在StringBuffer中使用的是replace()方法,这一点读者在使用时需要注意。


5.实例操作五:字符串截取
通过substring()方法可以直接从StringBuffer的指定范围中截取出内容。
范例:截取指定范围的字符串内容

package org.lxh.demo11.stringbufferdemo;  
 public class StringBufferDemo06 {  
     public static void main(String[] args) {  
         StringBuffer buf = new StringBuffer();  
     // 声明StringBuffer对象  
         buf.append("Hello ").append("World!!");  
 // 向StringBuffer中添加  
 内容  
         buf.replace(6, 11, "LiXingHua");  
         // 将World替换为  
 LiXingHua  
         String str = buf.substring(6, 15);  
         // 指定截取范围,并把内容转  
 化为String类型  
         System.out.println("截取之后的内容:
 " + str);   // 将截取后的结果输出  
     }  
 }


程序运行结果:
截取之后的内容:LiXingHua 


6.实例操作六:删除指定范围的字符串
因为StringBuffer本身的内容是可更改的,所以也可以通过delete()方法删除指定范围的内容。
范例:从StringBuffer中删除指定范围的字符串

package org.lxh.demo11.stringbufferdemo;  
 public class StringBufferDemo07 {  
     public static void main(String[] args) {  
         StringBuffer buf = new StringBuffer();  
     // 声明StringBuffer对象  
         buf.append("Hello ").append("World!!");  
 // 向StringBuffer中添加  
 内容  
         buf.replace(6, 11, "LiXingHua");  
         // 将World替换为  
 LiXingHua  
         String str = buf.delete(6, 15).toString(); 
 // 删除指定范围的字符串  
         System.out.println("删除之后的内容:" + str); 
 // 输出删除之后的剩余内容  
     }  
 }


程序运行结果:
删除之后的内容:Hello !! 

7.实例操作七:查找指定的内容是否存在
通过indexOf()方法可以查找指定的内容,如果查找到了,则返回内容的位置,如果没有查找到则返回-1。
范例:查找指定的内容是否存在

package org.lxh.demo11.stringbufferdemo;  
 public class StringBufferDemo08 {  
     public static void main(String[] args) {  
         StringBuffer buf = new StringBuffer();    
 // 声明StringBuffer对象  
         buf.append("Hello ").append("World!!");
 // 向StringBuffer中添加内容  
         if(buf.indexOf("Hello")==-1){             
 // 没有查找到则返回-1   
             System.out.println("没有查找到指定的内容") ;  
         }else{                                   
 // 不为-1表示查找到内容  
             System.out.println("可以查找到指定的内容") ;  
         }  
     }  
 }