Java转义字符以反斜杠\引导,用于表示特殊字符如\"、\\、\n、\t等;支持Unicode(\uXXXX)和八进制(\ddd)转义;需注意路径、正则中的双重转义及文本块等现代替代方案。

Java中使用转义字符,核心是通过反斜杠 \ 引导特殊字符序列,让编译器识别本义字符或不可见控制符。字符串字面量里直接写某些符号(如双引号、换行、反斜杠本身)会导致编译错误或语义偏差,必须用转义形式表达。
常见转义字符及其含义
Java支持的标准转义序列包括:
-
\":表示双引号("),用于字符串内部嵌套引号,例如
"He said \"Hello\"" - \\:表示单个反斜杠(\),因为反斜杠本身是转义引导符,需用两个才表示字面意义
- \n:换行符(LF),输出时换到下一行
- \t:制表符(Tab),插入水平缩进
- \r:回车符(CR),常与\n组合成\r\n表示Windows换行
- \b:退格符(Backspace),删除前一个字符(控制台中可能不可见)
- \f:换页符(Form feed),极少使用
-
\':单引号('),在char字面量中常用,如
'\'';字符串中一般不需要
Unicode转义与八进制转义
除基本转义外,Java还支持更底层的字符编码表示方式:
-
\uXXXX:Unicode转义,X为十六进制数字(0-9, a-f, A-F),如
"\u4F60\u597D"表示“你好” -
\ddd:八进制转义,d为0–7的数字,最多三位,如
"\101"等价于"A"(八进制101 = 十进制65)
注意:Unicode转义在编译期就被解析,甚至可出现在注释或关键字中(不推荐);而八进制转义仅限于字符和字符串字面量内,且不能超过 \377(十进制255)。
立即学习“Java免费学习笔记(深入)”;
本文档主要讲述的是Android数据格式解析对象JSON用法;JSON可以将Java对象转成json格式的字符串,可以将json字符串转换成Java。比XML更轻量级,Json使用起来比较轻便和简单。JSON数据格式,在Android中被广泛运用于客户端和服务器通信,在网络数据传输与解析时非常方便。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
字符串拼接与转义的常见误区
容易出错的情况包括:
- 路径字符串中误写单个反斜杠:
"C:\temp\file.txt"会报错,应写成"C:\\temp\\file.txt"或使用正向斜杠"C:/temp/file.txt" -
正则表达式中双重转义:在String中写
"\\d+"才能匹配一个或多个数字(第一个\转义第二个\,最终传给Pattern的是\d+) - 混淆字面量与运行时内容:转义只在编译期起作用;从文件、网络读取的字符串含 "\n" 字符串(即两个字符:\ 和 n),不是换行符,需手动解析
现代替代方案:文本块与String.format
Java 15+ 引入文本块(Text Blocks),用三引号 """ 包裹多行字符串,自动处理大部分换行和缩进,减少转义需求:
String html = """
Hello
""";
对于动态内容,优先用 String.format() 或 MessageFormat,避免拼接+转义混合导致的可读性问题,例如:String msg = String.format("User %s logged in at %s", name, time);









