18.Java转义字符
转载请保留原文链接: http://dashidan.com/article/java/basic/18.html
转载请保留原文链接: http://dashidan.com/article/java/basic/18.html
所有的ASCII码都可以用”\”加数字(一般是8进制数字)来表示. Java语言中定义了一些字母前加”\”来表示特殊含义的字符, 如\0,\t,\n等, 称为转义字符(Escape Character).
① 斜线与反斜线
- / 斜线(slash), 又称为forward slash (前斜线), 原本是标点符号.
起源于古罗马,中世纪时用作逗号(而当时的双斜线//是被当作连接号的,后来演化成等号=). Linux系统文件路径使用.
- \ 反斜线(backslash), Windows系统文件路径, 程序编码转义, Unicode编码等都使用.
② 转义字符表
斜杠:”/” 与 反斜杠:”\” ,此处不可互换
Java中转义字符, 用单引号标识, 是char
类型.
1.八进制转义序列: \ + 1到3位5数字;范围’\000’~’\377’
\0:空字符
2.Unicode转义字符:\u + 四个十六进制数字;0~65535
\u0000:空字符
常用Unicode字符对照表
- 点的转义:. -> u002E
- 美元符号的转义:$ -> u0024
- 乘方符号的转义:^ -> u005E
- 左大括号的转义:{ -> u007B
- 左方括号的转义:[ -> u005B
- 左圆括号的转义:( -> u0028
- 竖线的转义:| -> u007C
- 右圆括号的转义:) -> u0029
- 星号的转义:* -> u002A
- 加号的转义:+ -> u002B
- 问号的转义:? -> u003F
- 反斜杠的转义: -> u005C
3.特殊字符
- \” : 双引号
- \’ : 单引号
- \\ : 反斜线
- \’ : 单引号
4.控制字符
- \r 回车
- \n 换行
- \f 走纸换页
- \t 横向跳格
- \b 退格
转义字符 | 意义 | ASCII码值(十进制) |
\b | 退格(BS),将当前位置移到前一列 | 8 |
\f | 换页(FF),将当前位置移到下页开头 | 12 |
\n | 换行(LF) ,将当前位置移到下一行开头 | 10 |
\r | 回车(CR) ,将当前位置移到本行开头 | 13 |
\t | 水平制表(HT) (跳到下一个TAB位置) | 9 |
\\ | 代表一个反斜线字符”\’ | 92 |
\’ | 代表一个单引号(撇号)字符 | 39 |
\” | 代表一个双引号字符 | 34 |
\0 | 空字符(NULL) | 0 |
\000 | 1到3位八进制数所代表的任意字符 | 三位八进制,范围’\000’~’\377’ |
\u0000 | Unicode转义字符:\u + 四个十六进制数字, \u0000:空字符 | 四个十六进制数字;0~65535 |
在网上其他的一些资料中提到了\?和\x转义字符.
然而Java中并没有这两个转义字符.\x`为C++语言中的16进制转义字符.
附带真相的代码:
package com.dashidan.lesson17;
/**
* 大屎蛋教程网-dashidan.com
* <p>
* Java教程基础篇: 17.Java转义字符
* 转义字符/?和/x
*/
public class Demo2 {
public static void main(String[] args) {
/** 定义以下变量都是错误的*/
// char c = '\?';
// char f = '\x01';
}
}
示例代码:
package com.dashidan.lesson17;
/**
* 大屎蛋教程网-dashidan.com
* <p>
* Java教程基础篇: 17.Java转义字符
*/
public class Demo1 {
public static void main(String[] args) {
char a = '\\';
char b = '\"';
/** 这个会报错,Java中无法转义\? */
char d = '\'';
/** 8进制整数*/
char e = '\100';
/** unicode变化转义*/
char g = '\u1111';
System.out.println("a: " + a);
System.out.println("b: " + b);
System.out.println("d: " + d);
System.out.println("e: " + e);
System.out.println("g: " + g);
}
}
输出:
a: \
b: "
d: '
e: @
g: ᄑ