声明文本块
使用三重引号编写多行字符串
声明文本块 是 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 反馈 — 无需本地设置。