java中转义符号\的使用

您所在的位置:网站首页 转义字符使用后句子断开怎么办 java中转义符号\的使用

java中转义符号\的使用

2024-07-06 22:21| 来源: 网络整理| 查看: 265

 

首先很重要一点,转义字符是供编译器识别的。当java文件编译成.class文件后就不存在转义一说了。

比如,定义一个字符串String a值为双引号“。由于java的语法规定,字符串字面量是要由一对双引号括起来。如果这样定义String a = " " ";编译器肯定识别a为空字符串,后面不成对的双引号还会报错。这时候需要一个转义字符(java选择了\)来标识中间的双引号是字符串值,而不是语法中用来包裹字符串的特殊字符。而编译后的class文件保存值“到常量池中,不存在歧义的问题(具体可以看关于class文件讲解的文章)。

 

一。八进制转义序列:用于表示ascii中的字符

规则: \+1到3位8进制数字;范围'\000'~'\177'

编译器是会自动识别转义符号\后可用的数字。

比如:"\402" 超过了最大值177,编译器就会识别为改字符串为空格加上一个字符”2“,再比如”\092",9不在8进制数字中,编译器就是识别为\0和字符“92”

 

二。unicode转义字符:用于表示unicode字符集中的字符

规则:\u+4个十六进制数字;范围0~65535

必须要写全4个数字,即只能写\u0000而不能写\u0

 

三。特殊字符:单引号'、双引号"、反斜线\

java字符串定义中,双引号必须转义,即必须这样写:"\"";而单引号可不转义,即可以这样写" ' ";

相同的字符定义中,单引号必须转义,' \' ';双引号可不转义' " ';

反斜线不管作为字符还是字符串的值都需转义

 

四。控制字符

\r回车

\n换行

\f走纸换页

\t横向挑格

\b退格

 

这里需要注意,unicode转义字符和其他转义类型,转义的位置不同。如下句话说的:编译器在将程序解析成各种符号之前,先将Unicode转义字符转换成为它们所表示的字符。可以理解为编译器先将源文件中unicode转义字符转成对应字符再解析代码意义。也就是unicode转义字符只是字符的另一种写法,即\u0022(双引号)只改变u0022的字面含义,不改变它所代表的双引号的代码含义。

 

比如:

System.out.println("\u0022.length()+\u0022".length());

 输出结果是0,输出内容等同"".length()+"".length()

System.out.println("\42.length()+\42".length()); System.out.println("\".length()+\"".length());

 输出结果都是12

 

再比如

System.out.println("\42"); 输出“ System.out.println("\""); 输出” System.out.println("\u0022"); 报“未结束字符串”错误

 

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3