Java转义字符的核心作用是让编译器将特殊字符视为普通字符或插入控制字符,均以单个反斜杠\开头;基础有\n、\t、\r、\b、\f、\"、\'、\\八种;需在字符串、字符字面量、正则、路径等场景规避语法冲突;还可通过\uXXXX和\ddd编码表示任意字符;使用时须注意转义层级与上下文。
Java中转义字符的核心作用,是让编译器把某些有特殊语法意义的字符(比如双引号、反斜杠)当作普通字符来处理,或者插入无法直接键入的控制字符(比如换行、制表)。关键在于:所有转义都以单个反斜杠 \ 开头,后面紧跟特定字符或编码序列。
这8种在代码里出现频率最高,属于Java语言规范强制支持的标准转义序列:
char c = '\'';
"C:\\Program Files\\app"
当字符串内容本身包含对Java语法有干扰的符号,不转义就会编译失败:
"他说:\"今天真不错!\"" —— 否则第二个"会被当成字符串结束char quote = '\''; —— 否则第一个'会被当成字面量起始split("\\.")匹配点号,因为.在正则里代表“任意字符”,必须双重转义(一次给Java,一次给正则引擎)"D:\\data\\config.txt",否则
\d会被误认为八进制转义当需要输入键盘打不出的字符(如中文、数学符号、emoji),可用编码方式:
"\u4F60\u597D" → “你好”'\101' → 'A'(101₈ = 65₁₀)\u是编译期解析的,哪怕写在注释里也会被识别;而\n这类是运行期生效的控制字符转义不是“加一个\就万事大吉”,要特别注意层级和上下文:
"\\n",实际得到的是两个字符:\ 和 n,不是换行符;真正换行要写"\n"
"\\\\\\":Java先解析为"\\\\",正则引擎再解析为"\\"
"{\\\"name\\\":\\\"Tom\\\"}",确保最终生成合法JSON"\\\""(错误)而非"\""(正确)