String和StringBuffer的相互转换
A–B,把A转化为B,为了是使用B的功能
B–A,再把B转化为A,可能是最终的结果是需要A类型,所以还得转化回来
public class StringBufferDemo7 {
public static void main(String[] args) {
//String -- StringBuffer
String s = "hello";
//String类型不能直接赋值给StringBuffer类型
// StringBuffer sb1 = s;
// StringBuffer sb = "helloworld";
//方式1:通过构造方法转换
System.out.println(s);
StringBuffer sb=new StringBuffer(s);
System.out.println(sb);
//方法2:通过StringBuffer的append(方法
StringBuffer sb2 =new StringBuffer();
sb2.append(s);
System.out.println(sb2);
//StringBuffer -- String
StringBuffer sb3 =new StringBuffer("bigdata");
//方式1:通过调用StringBuffer的toString()方法
String s1 =sb3.toString();
System.out.println(s1);
//方式2:通过String的构造方法,将StringBuffer作为参数传入
String s2 =new String(sb3);
System.out.println(s2);
}
}
把数组拼接成一个字符串(用StringBuffer实现)
public class StringBufferDemo8 {
public static void main(String[] args) {
char[] c ={'a','b','c','d'};
StringBuffer sb=new StringBuffer();
for (int i = 0; i
把字符串反转,键盘录入字符串
import java.util.Scanner;
public class StringBufferDemo9 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入字符串:");
String s =sc.next();
//方法一:用String拼接
String s1="";//定义一个空字符串
char[] chars =s1.toCharArray();//将输入的字符串转化为字符数组
//倒序排序
for (int i =s1.length()-1; i >=0 ; i--) {
s1+=chars[i];
}
System.out.println("反转之后的字符串为:"+s);
System.out.println("********************************");
//方法2:利用StringBuffer的reverse()方法
//StringBuffer sb =new StringBuffer();
//StringBuffer re =sb.reverse();
//String s2 =sb.toString();//StringBuffer转为String
// System.out.println("翻转之后字符串为"+s2);
System.out.println("链式编程");
System.out.println(new StringBuffer(s1).reverse().toString());
}
}
判断一个字符串是否是对称字符串
例如"abc"不是对称字符串,“aba”、“abba”、“aaa”、"mnanm"是对称字符串
分析:
1、第一个字符与最后一个字符比较
2、第二个字符与倒数第二个字符比较
…
比较的次数:长度/2
import java.util.Scanner;
public class StringBufferDemo10 {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
System.out.println("请输入想要判断的字符串:");
String s =sc.next();
boolean flag =true;
//方式1:一个一个的去比较
//将字符串转换为字符数组
// char[] chars =s.toCharArray();
// for (int start = 0,end =chars.length-1; start <=end ; start++,end--) {
// if (chars[start] != chars[end]) {
// System.out.println("该字符串不是对称字符串");
// flag =false;
// break;
//
// }
// }
// if (flag){
// System.out.println("该字符串是对称字符串");
// }
//方式2:利用StringBuffer的反转操作
StringBuffer sb =new StringBuffer(s);
StringBuffer re =sb.reverse();
String s3 =re.toString();
if (s3.equals(s)) {
System.out.println("该字符串是对称字符串");
}else {
System.out.println("该字符串不是对称字符串");
}
}
}



