package StringDemo; public class StringBuilderDemo1 { public static void main(String[] args){ StringBuilder sb=new StringBuilder();//无参构造方法 System.out.println(sb.length());//0 sb.append("hello"); sb.append(2019); sb.append('A'); System.out.println(sb);//hello2019A System.out.println(sb.length());//10 //public StringBuilder append(任意类型):添加数据,并返回对象本身 //链式编程 sb.append("hello").append(2019).append('A'); System.out.println(sb); //hello2019Ahello2019A //public StringBuilder reverse();返回相反的字符序列 sb.reverse(); System.out.println("sb反转后:"+sb); //sb反转后:A9102ollehA9102olleh //StringBuilder的有参构造方法 StringBuilder sb1=new StringBuilder("hello java"); System.out.println(sb1.length());//10 System.out.println(sb1);//hello java //Stringbuilder转换为String //public String toString():通过toString()就可以实现把StringBuilder转换为String String s=sb.toString(); System.out.println(s);//A9102ollehA9102olleh //String转换为StringBuilder //public StringBuilder(String s),通过构造方法就可以实现把String转换为StringBuilder String ss="xiaozhan"; StringBuilder sb2=new StringBuilder(ss); System.out.println(sb2);//xiaozhan //字符串的拼接 //需求: //定义一个方法,把int数组中数据按照指定的格式拼接成一个字符串返回,调用该方法,并在控制台输出结果,例如数组int[] arr=[1,2,3],执行方法后的输出结果为:[1,2,3] // //思路: //1)定义一个int类型的数组,用静态初始化完成数组元素的初始化。 //2)定义一个方法:用于把int数组中的数据按照指定格式拼接成一个字符串返回。返回值为Stringe类型,参数列表int[] arr. //3)在方法中用StringBuilder按照要求进行拼接,并把结果转换成String返回。 //4)调用方法,用一个变量接收结果。 //5)输出结果。 int[] arr={1,2,3}; //调用方法,用一个变量接收结果 String temp=arrayToString(arr); //输出结果 System.out.println("拼接后数组为:"+temp); //拼接后数组为:{1, 2, 3} //字符串的反转 //需求:定义一个方法,实现字符串的反转,键盘录入一个字符串,调用该方法后,在控制台输出结果,例如,键盘录入abc,输出结果cba。 // //思路: //1)键盘录入一个字符串,用Scanner实现; //2)定义一个方法,实现字符串的反转,返回类型为String,参数为String s; //3)在方法中利用StringBuilder实现反转,把结果转换为String返回。 //4)调用该方法,用一个变量接收。 //5)输出结果。 String line="I am great!"; String temp2=myReverse(line); System.out.println("反转后:"+temp2); //反转后:!taerg ma I } public static String arrayToString(int[] arr){ StringBuilder sb=new StringBuilder(); sb.append("{"); for(int i=0;i<arr.length;i++){ if(i==arr.length-1){ sb.append(arr[i]); }else{ sb.append(arr[i]).append(", "); } } sb.append("}"); String s=sb.toString(); return s; } public static String myReverse(String s){ //String====>StringBuilder------>reverse()----->String StringBuilder sb=new StringBuilder(s); sb.reverse(); String ss=sb.toString(); return ss; } }
结果:
0
hello2019A
10
hello2019Ahello2019A
sb反转后:A9102ollehA9102olleh
10
hello java
A9102ollehA9102olleh
xiaozhan
拼接后数组为:{1, 2, 3}
反转后:!taerg ma I