Java Academy · 课时

声明文本块

使用三重引号编写多行字符串

第 1 / 4 课13 个步骤

声明文本块 是 CoddyKit 上的免费 Java Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Java Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Java Academy 课程共包含 4 节课。

多行文本的痛点

在 Java 15 之前,编写多行文本意味着使用 \n 和 + 连接字符串。这样的写法难以阅读,也容易出错。文本块解决了这个问题。

三引号

文本块以三个双引号 """ 开始,后面紧跟一个换行符;接着是内容,最后以 """ 结束。两组分隔符之间的所有内容就是该字符串。

public class Main {
    public static void main(String[] args) {
        String message = """
            Hello
            World
            """;
        System.out.println(message);
    }
}

开头行规则

内容必须从开头 """ 后的下一行开始。您不能将文本直接放在开头分隔符之后。这个换行符是必需的语法。

public class Main {
    public static void main(String[] args) {
        String poem = """
            Roses are red
            Violets are blue
            """;
        System.out.println(poem);
    }
}

自动换行

文本块中的每个换行都会变成结果字符串中的一个 \n。您不再需要为行尾手动编写转义序列。

public class Main {
    public static void main(String[] args) {
        String list = """
            Apples
            Bananas
            Cherries
            """;
        System.out.print(list);
    }
}

不再需要拼接

请将旧式写法("a\n" + "b\n")与文本块进行比较。文本块的内容看起来与输出完全一致,因此错误会更加明显。

public class Main {
    public static void main(String[] args) {
        String html = """
            <html>
              <body>Hi</body>
            </html>
            """;
        System.out.println(html);
    }
}

无需转义引号

在文本块中,单个双引号 " 无需转义。这非常适合包含引号的内容,例如 JavaScript 对象表示法。

public class Main {
    public static void main(String[] args) {
        String json = """
            {"name": "Alice", "age": 30}
            """;
        System.out.println(json);
    }
}

文本块仍然是字符串

结果是一个普通的 String。您可以对它调用任何 String 方法,将它与其他内容拼接,或将它传递给其他方法。

public class Main {
    public static void main(String[] args) {
        String text = """
            one
            two
            """;
        System.out.println("Length: " + text.length());
        System.out.println("Upper: " + text.toUpperCase());
    }
}

拼接文本块

您可以使用 + 将文本块与其他字符串连接起来,就像处理其他字符串字面量一样。

public class Main {
    public static void main(String[] args) {
        String name = "Bob";
        String greeting = """
            Dear customer,
            """ + "Welcome " + name;
        System.out.println(greeting);
    }
}

保留空行

代码块中的空行会在字符串中保留为空行。这样,您可以自然地格式化带有间隔的输出。

public class Main {
    public static void main(String[] args) {
        String spaced = """
            Title

            Body text
            """;
        System.out.print(spaced);
    }
}

可读的代码片段

嵌入类似代码的内容时,文本块尤其有用。在这里,一小段伪配置仍然具有很好的可读性。

public class Main {
    public static void main(String[] args) {
        String config = """
            host = localhost
            port = 8080
            debug = true
            """;
        System.out.print(config);
    }
}

计算行数

由于换行符是真实存在的,您可以使用 \n 分割文本块,以便逐行处理。

public class Main {
    public static void main(String[] args) {
        String data = """
            red
            green
            blue
            """;
        String[] lines = data.split("\n");
        System.out.println("Lines: " + lines.length);
    }
}

快速检查

文本块的内容必须从哪里开始?

回顾

您学习了如何声明文本块:

  • 使用 """ 开始和结束
  • 内容必须从下一行开始
  • 换行会自动变成 \n
  • 双引号无需转义
  • 结果是一个普通的 String
免费开始

用 AI 导师学习 Java — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
104
课程
374

常见问题解答

「声明文本块」课时是免费的吗?

是的 — 「声明文本块」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Java Academy 课程的其余内容,请升级到 CoddyKit PRO。 Java Academy 课程共包含 4 节课。

「声明文本块」这节课中我会学到什么?

使用三重引号编写多行字符串 你通过在浏览器中直接运行的动手代码来练习 Java Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Java Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Java Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「声明文本块」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Java Academy 课中编写并运行代码吗?

能。每节 Java Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 声明文本块
  2. 缩进与去除
  3. 文本块中的转义
  4. 使用场景:JSON 与 SQL
← 返回 Java Academy