在 Java 中,反斜杠 是转义字符的起始符号,因此要原样输出单个 ,必须使用双反斜杠 \ 进行转义;Java 13+ 还支持三重引号字符串(Text Blocks),可更直观地处理多行含反斜杠的文本。
在 java 中,反斜杠 `` 是转义字符的起始符号,因此要原样输出单个 ``,必须使用双反斜杠 `\` 进行转义;java 13+ 还支持三重引号字符串(text blocks),可更直观地处理多行含反斜杠的文本。
Java 的字符串字面量中, 具有特殊含义——它用于引入转义序列(如 换行、 制表符)。若直接写 "\",编译器会将其解释为“一个反斜杠”,因为第一个 转义了第二个 。因此,要在控制台输出单个 字符,必须在源码中写 \。
例如:
System.out.println("\"); // 输出:
System.out.println("C:\Users\John"); // 输出:C:UsersJohn
⚠️ 注意:
- 单独的 (如 "")会导致编译错误:unclosed string literal;
- 错误写法 "\" 实际表示 一个反斜杠,而非两个——若想输出两个连续反斜杠 \,需写 \\(每对 \ 表示一个 );
- 在 Windows 路径等场景中,务必对每个 做双重转义,否则路径解析将失败。
从 Java 13 开始,可使用 文本块(Text Blocks)(JEP 355),以三重双引号 """ 包裹多行字符串,其中普通反斜杠不再被自动转义(但仍需对 " 和 $ 等少数字符转义)。这极大简化了包含反斜杠的 ASCII 图形或正则表达式等场景:
String asciiArt = """
\ /
\ /
X
/ \
/ \
""";
System.out.print(asciiArt);
✅ 输出效果完全符合预期,且代码可读性强,无需繁琐的 \ 堆叠。但需注意:
- 文本块中行首缩进会被保留,建议用 IDE 自动对齐或调用 String.stripIndent() 清理;
- 若需动态拼接或运行时生成含反斜杠的字符串,仍应优先使用 \ 转义方式,因文本块是编译期特性。
总结:打印 的核心原则是「源码中写 \ 表示运行时一个 」;善用文本块可提升多行反斜杠内容的可维护性,但不可替代基础转义规则的理解与应用。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











