首页 > java > basic > 18.Java转义字符

18.Java转义字符

所有的ASCII码都可以用"\"加数字(一般是8进制数字)来表示. Java语言中定义了一些字母前加"\"来表示特殊含义的字符,如\0,\t,\n等,称为转义字符(Escape Character).

1 斜线与反斜线

  • 斜线 java编程中/斜线(slash),又称为forward slash (前斜线),原本是标点符号.起源于古罗马,中世纪时用作逗号(而当时的双斜线//是被当作连接号的,后来演化成等号=). Linux系统文件路径使用.

  • 反斜线 java \反斜线(backslash),Windows系统文件路径,程序编码转义,Unicode编码等都使用.

2 a转义字符

转义字符,用单引号标识,是char类型.java转义字符中斜杠"/"与反斜杠"\",不可互换.

2.1 八进制转

八进制转义+1到3位5数字范围'\000'~'\377'."\0"表示空字符

2.2 Unicode转义字符

\u+四个十六进制数字0~65535."\u0000"表示空字符.

java常用Unicode字符对照表

  • 点的转义:. -> u002E
  • 美元符号的转义:$ -> u0024
  • 乘方符号的转义:^ -> u005E
  • 左大括号的转义:{ -> u007B
  • 左方括号的转义:[ -> u005B
  • 左圆括号的转义:( -> u0028
  • 竖线的转义:| -> u007C
  • 右圆括号的转义:) -> u0029
  • 星号的转义:* -> u002A
  • 加号的转义:+ -> u002B
  • 问号的转义:? -> u003F
  • 反斜杠的转义: -> u005C

2.3 特殊字符转义

  • \" : 转义为双引号
  • \' : 转义为单引号
  • \\ : 转义为反斜线
  • \' : 转义为单引号

2.4 制表符转义

  • \r 转义为回车
  • \n 转义为换行
  • \f 转义为走纸换页
  • \t 转义为横向跳格
  • \b 转义为退格

2.5 转义字符表

转义字符表
转义字符 意义 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.lesson18;

/**
 * 大屎蛋教程网-dashidan.com
 * <p>
 * Java教程基础篇: 18.Java转义字符
 * 转义字符/?和/x
 */
public class Demo2 {
    public static void main(String[] args) {
        /** 定义以下变量都是错误的*/
//        char c = '\?';
//        char f = '\x01';
    }
}

示例代码:

package com.dashidan.lesson18;

/**
 * 大屎蛋教程网-dashidan.com
 * <p>
 * Java教程基础篇: 18.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: ᄑ
转载请保留原文链接.