java - StringBuiler append( ) - StringBuiler的成员方法 字符对称 23
package com.demo.StringBuiler; public class day01 { public static void main(String[] args) { //StringBuilder:提高字符串效率 long start = System.currentTimeMillis(); StringBuilder sb = new StringBuilder(); for (int i = 0; i <= 10000; i++) { sb.append(i); } long end = System.currentTimeMillis(); System.out.println(end - start + "start"); time(); } private static void time() { // 获取1970年1月1日0时0分0秒,到现在所经历的毫秒值 long start = System.currentTimeMillis(); String s = ""; for (int i = 0; i <= 10000; i++) { s += i; } long end = System.currentTimeMillis(); System.out.println(end - start); } }
package com.demo.StringBuiler; public class day02 { public static void main(String[] args) { // StringBuilder的介绍: // 1.一个可变的字符序列 // 2.StringBuilder是字符缓冲区,可以理解是容器,可以储存任意类型的数据类型,只要进入这个容器,全部变成字符串 // StringBuilder的构造方法: // 可以带参数初始化 StringBuilder sb = new StringBuilder("abc"); // Java中的append( )方法其实是创建了一个新的数组,扩大了长度,将需要添加的字符串给复制到这个新的数组中 // 初始容量为16个字符,装不下会自动扩容 sb.append("62621641613131341641161"); System.out.println(sb); // sb.append(100); // sb.append(46.3); // sb.append(false); // sb.append('中'); // sb.append("中文"); // System.out.println(sb); } }
StringBuiler的成员方法:
字符对称:
package com.demo.StringBuiler;
import java.util.Scanner;
public class day03 {
public static void main(String[] args) {
int arr[] = {1, 2, 3, 4, 5};
String res = two(arr);
System.out.println(res);
// 键盘接受一个字符串,程序判断出该字符串是否是对称字符串(回文字符串),并在控制台打印是或不是对称字符串:123321、111非对称字符串:123123
// 思路:对拿到的字符串进行反转,反转后的内容,跟原数据相同,判定为回文字符串
// one();
}
private static String two(int arr[]) {
// 创建StringBuilder,准备进行拼接
StringBuilder sb = new StringBuilder("[");
// 遍历数组,获取内部元素
for (int i = 0; i < arr.length - 1; i++) {
sb.append(arr[i]).append(", ");
}
sb.append(arr[arr.length-1]).append("]");
return sb.toString();
}
private static void one() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个对称字符串");
String content = sc.nextLine();
// 将String转StringBuiler ,内部反转
StringBuilder sb = new StringBuilder(content);
// 反转
sb.reverse();
if (content.equals(sb.toString())) {
System.out.println("对称");
} else {
System.out.println("不对称");
}
}
}
五次以上的建议用StringBuiler
线程安全的,效率就低,效率高的,线程就不安全
代码改变了我们,也改变了世界