java中转义符号\的使用 |
您所在的位置:网站首页 › 转义字符使用后句子断开怎么办 › java中转义符号\的使用 |
首先很重要一点,转义字符是供编译器识别的。当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 |