一、转义字符汇总
符号 | 字符含义 |
---|---|
\n | 换行 (0x0a) |
\r | 回车 (0x0d) |
\f | 换页符(0x0c) |
\b | 退格 (0x08) |
\0 | 空字符 (0x0) |
\s | 空格 (0x20) |
\t | 制表符 |
\" | 双引号 |
\' | 单引号 |
\\ | 反斜杠 |
\ddd | 八进制字符 (ddd) |
\uxxxx | 16进制Unicode字符 (xxxx) |
二、详细介绍
1、\n
- 换行符(Line feed)
在文本中开始一个新行。
public class Hello{
public static void main(String[] args){
System.out.println("Hello World!\nHello World!");
}
}
运行结果:
可以发现这里两句话中间会有换行。
2、\r
- 回车符(Carriage return)
将光标移动到行首。
public class Hello{
public static void main(String[] args){
System.out.println("Hello World!\rHello Code!");
}
}
运行结果:
对于 \r 转义字符,它的作用就是将光标回到行首,不会换行,这里的运行结果就是现将Hello World! 打印好,然后光标回到行首,然后打印 Hello Code! 这样前面的部分会被覆盖,只剩下一个 ! ,所以是这个结果。
3、\f
- 换页符(Form feed)。
用于打印文档时,推进到下一页。
public class Hello{
public static void main(String[] args){
System.out.println("Hello World!\fHello World!");
}
}
运行结果:
4、\b
- 退格符(Backspace)。
删除前一个字符。
public class Hello{
public static void main(String[] args){
System.out.println("Hello \bWorld!");
}
}
运行结果:
5、\0
- 空字符(null character)
在Java中,\0
通常用于表示字符串的结束,尽管在实际编程中很少直接使用它。在C语言中,字符串通常以空字符 \0
结尾,但在Java中,字符串是由字符数组表示的,并且不需要以空字符结尾。
public class Hello{
public static void main(String[] args){
System.out.println("Hello World!\0");
}
}
运行结果:
6、\s
- 正则表达式中的空白字符
在正则表达式中,\s
用于匹配任何空白字符。
7、\t
- 制表符(Tab)。
移动到下一个制表位。
public class Hello{
public static void main(String[] args){
System.out.println("Bob\tAlice\tJack");
}
}
运行结果:
8、\'
- 单引号字符。
用于在单引号字符字面量中包含单引号。
public class Hello{
public static void main(String[] args){
System.out.println("This is a character \'");
}
}
运行结果:
9、\"
- 双引号字符。
用于在字符串字面量中包含双引号。
public class Hello{
public static void main(String[] args){
System.out.println("This is a character \"");
}
}
运行结果:
10、\\
- 反斜杠字符。
用于在字符串中包含反斜杠。
public class Hello{
public static void main(String[] args){
System.out.println("D:\\Java_Development\\JavaCode");
}
}
运行结果:
11、\ddd
- 八进制字符(ddd代表一到三位的八进制数)。
用于表示特定的字符代码点。\ddd
用于表示八进制字符,其中 ddd
是一个一到三位的八进制数,代表字符的ASCII码或扩展字符码。这在需要表示特定的ASCII字符或扩展字符时非常有用。
public class Hello{
public static void main(String[] args){
System.out.println("There will bell " + '\007');
}
}
运行这段代码会有一个铃声(如果系统支持)。
12、\uxxxx
- Unicode字符(xxxx表示四位十六进制数)。
用于表示任意的Unicode字符。\uxxxx
用于表示Unicode字符,其中 xxxx
是一个四位的十六进制数,代表Unicode字符的码点。这在需要表示非ASCII字符时非常有用,例如中文、日文、韩文等。
public class Hello{
public static void main(String[] args){
System.out.println("This is a character " + '\u0041');
}
}
运行结果:
因为十六进制 41 转换成十进制为 65 ,65 对应的字符是 A 。