Menu
CoddyTech

StringBuilder 基础

本课属于 Coddy Java 学习旅程的“逻辑与流程”单元。第 44 课,共 59 课。

StringBuilder 用于创建可变(可修改)的字符串。当你需要多次修改字符串时,它比普通的 String 拼接效率更高。

创建一个初始文本为以下内容的 StringBuilder:

StringBuilder sb = new StringBuilder("Hello");

使用 append() 添加更多文本:

sb.append(" World");

运行上面的代码后,sb 中包含:

Hello World

我们来用 insert() 在指定位置添加文本:

StringBuilder sb = new StringBuilder("Java");
sb.append(" is");      // 在末尾添加
sb.insert(0, "Hey ");  // 在位置 0(开头)添加

执行上述代码后,sb 中包含:

Hey Java is

将 StringBuilder 转换为 String:
当你需要将结果作为 String 返回或存储时,请使用 toString():

StringBuilder sb = new StringBuilder("Hello");
sb.append(" World");

String result = sb.toString();  // 转换为 String
System.out.println(result);     // 输出:Hello World

为什么要使用 toString()? 返回 String 类型的方法不能直接返回 StringBuilder,你必须先使用 toString() 将其转换。

challenge icon

挑战

简单

创建一个名为 buildPhrase 的方法,它接受三个参数:

  1. 一个 String(start),表示短语的开头
  2. 一个 String(middle),表示中间部分
  3. 一个 String(end),表示结尾

该方法应:

  1. 使用开头字符串创建一个 StringBuilder
  2. 添加一个空格和中间字符串
  3. 添加一个空格和结尾字符串
  4. 在末尾添加一个感叹号
  5. 返回最终字符串

返回消息应为:

  • 如果任何输入为 null:返回 "Invalid input"
  • 如果操作成功:返回拼接好的短语

亲手试试

import java.util.Scanner;

public class Main {
    public static String buildPhrase(String start, String middle, String end) {
        // 在这里编写代码
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String start = scanner.nextLine();
        String middle = scanner.nextLine();
        String end = scanner.nextLine();
        
        if (start.equals("null")) start = null;
        if (middle.equals("null")) middle = null;
        if (end.equals("null")) end = null;
        
        System.out.println(buildPhrase(start, middle, end));
    }
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: Java 在线编译器