JAVA中转义字符

JAVA中转义字符2009-08-12 17:40JAVA中转义字符:

1.八进制转义序列:\ + 1到3位5数字;范围'\000'~'\377'
\0:空字符
2.Unicode转义字符:\u + 四个十六进制数字;0~65535
\u0000:空字符
3.特殊字符:就3个
\":双引号
\':单引号
\\:反斜线
4.控制字符:5个

\' 单引号字符

\\ 反斜杠字符

\r 回车

\n 换行

\f 走纸换页

\t 横向跳格

\b 退格

点的转义:. ==> u002E
美元符号的转义:$ ==> u0024
乘方符号的转义:^ ==> u005E
左大括号的转义:{ ==> u007B
左方括号的转义:[ ==> u005B
左圆括号的转义:( ==> u0028
竖线的转义:| ==> u007C
右圆括号的转义:) ==> u0029
星号的转义:* ==> u002A
加号的转义:+ ==> u002B
问号的转义:? ==> u003F
反斜杠的转义: ==> u005C
======================================================================
下面的程序使用了两个Unicode的转义字符,它们是用其十六进制代码来表示Unicode字符。那么,这个程序会打印什么呢?
Java代码
public class EscapeRout{  
public static void main(String[] args){  
// \u0022 是双引号的Unicode转义字符  
System.out.println("a\u0022.length()  
+\u0022b".length());  
}  
} 

public class EscapeRout{
public static void main(String[] args){
// \u0022 是双引号的Unicode转义字符
System.out.println("a\u0022.length()
+\u0022b".length());
}
}


对该程序的一种很肤浅的分析会认为它应该打印出26,因为在由两个双引号"a\u0022.length()+\u0022b"标识的字符串之间总共有26个字符。
稍微深入一点的分析会认为该程序应该打印16,因为两个Unicode转义字符每一个在源文件中都需要用6个字符来表示,但是它们只表示字符串中 的一个字符。因此这个字符串应该比它的外表看其来要短10个字符。 如果你运行这个程序,就会发现事情远不是这么回事。它打印的既不是26也不是16,而是2。

理解这个谜题的关键是要知道:Java对在字符串字面常量中的Unicode转义字符没有提供任何特殊处理。编译器在将程序解析成各种符号之前, 先将Unicode转义字符转换成为它们所表示的字符[JLS 3.2]。因此,程序中的第一个Unicode转义字符将作为一个单字符字符串字面常量("a")的结束引号,而第二个Unicode转义字符将作为另一 个单字符字符串字面常量("b")的开始引号。程序打印的是表达式"a".length()+"b".length(),即2。

如果该程序的作者确实希望得到这种行为,那么下面的语句将要清楚得多:


Java代码
System.out.println("a".length()+"b".length()); 

更有可能的情况是该作者希望将两个双引号字符置于字符串字面常量的内部。使用Unicode转义字符你是不能实现这一点的,但是你可以使用转义字 符序列来实现[JLS 3.10.6]。表示一个双引号的转义字符序列是一个反斜杠后面紧跟着一个双引号(\”)。如果将最初的程序中的Unicode转义字符用转义字符序列来 替换,那么它将打印出所期望的16(错误,应该是14,不知道是怎么会出来16):

Java代码
System.out.println("a\".length()+\"b".length());

许多字符都有相应的转义字符序列,包括单引号(\')、换行(\n)、制表符(\t)和反斜线(\\)。你可以在字符字面常量和字符串字面常量中使用转义字符序列。
实际上,你可以通过使用被称为八进制转义字符的特殊类型的转义字符序列,将任何ASCII字符置于一个字符串字面常量或一个字符字面常量中,但是最好是尽可能地使用普通的转义字符序列。

普通的转义字符序列和八进制转义字符都比Unicode转义字符要好得多,因为与Unicode转义字符不同,转义字符序列是在程序被解析为各种符号之后被处理的。

ASCII是字符集的最小公共特性集,它只有128个字符,但是Unicode有超过65,000个字符。一个Unicode转义字符可以被用来在只使用ASCII字符的程序中插入一个Unicode字符。一个Unicode转义字符精确地等价于它所表示的字符。

Unicode转义字符被设计为用于在程序员需要插入一个不能用源文件字符集表示的字符的情况。它们主要用于将非ASCII字符置于标识符、字符 串字面常量、字符字面常量以及注释中。偶尔地,Unicode转义字符也被用来在看起来颇为相似的数个字符中明确地标识其中的某一个,从而增加程序的清晰 度。

总之,在字符串和字符字面常量中要优先选择的是转义字符序列,而不是Unicode转义字符。Unicode转义字符可能会因为它们在编译序列中 被处理得过早而引起混乱。不要使用Unicode转义字符来表示ASCII字符。在字符串和字符字面常量中,应该使用转义字符序列;对于除这些字面常量之 外的情况,应该直接将ASCII字符插入到源文件中。

 

 

 


转义序列 含义
\n 回车(\u000a)
\t 水平制表符(\u0009)
\b 空格(\u0008)
\r 换行(\u000d)
\f 换页(\u000c)
\' 单引号(\u0027)
\" 双引号(\u0022)
\\ 反斜杠(\u005c)
\ddd 三位八进制
\udddd 四位十六进制
JAVA中转义字符:
1.八进制转义序列:
\ + 1到3位5数字;范围'\000'~'\377'
\0:空字符
2.Unicode转义字符:
\u + 四个十六进制数字;0~65535
\u0000:空字符
八进制的是1到3个数字并且注意数值范围,如果超了范围也会编译错误的,而十六进制的转义必须是4个十六进制数字,而且有一些无法转义,如'\u000a',无法转移,会出现编译错误,而且相当多的数字没有对应的字符,只会转义成问号 而对于数字的转义,只要不超过范围既可以了。
3.特殊字符:就3个 \":双引号 \':单引号 \\:反斜线
4.控制字符:5个 \' 单引号字符 \\ 反斜杠字符 \r 回车 \n 换行 \f 走纸换页 \t 横向跳格 \b 退格
点的转义:. ==> u002E
美元符号的转义:$ ==> u0024
乘方符号的转义:^ ==> u005E
左大括号的转义:{ ==> u007B
左方括号的转义:[ ==> u005B
左圆括号的转义:( ==> u0028
竖线的转义:| ==> u007C
右圆括号的转义:) ==> u0029
星号的转义:* ==> u002A
加号的转义:+ ==> u002B
问号的转义:? ==> u003F
反斜杠的转义: ==> u005C

C语言初阶之转义字符 转义字符(Escape character),所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C语言中定义了一些字母前加""来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符;在平常的代码编写中,printf函数经常会用到。转义字符虽然由两个及两个以上的字符构成,但它表示的却是单个字符简单转义字符(Simple escape sequence)转义字符含义说明\0空字符(NULL在c语言中代表“字符串结束符”\a警报符(alert) 阅读详情

相关推荐

【Java入门基础第10天】Java常用的转义字符

【Java入门基础第10天】Java常用的转义字符

知而好问,然后能才 5174

详解转义字符

前言 与大家一起理理转义字符 啥是转义字符? 简单理解:就是可以转换字符的意思的字符。 转义字符汇总表 详解常见的转移字符 1 转移字符 “\?” 作用:在书写连续多个问号时使用,防止他们被解析成三字母词 2 转移字符 “\’” 作用:用于表示字符常量 举例: #include<stdio.h> int main() { printf("\'");//将会打印一个'(单引号) return 0; } 3转移字符 “\’” ...

分享技术 6万+

从Peer到脉冲地震波:免费Python工具全流程配置教程(PyCharm+Anaconda)

本文详细介绍了如何使用Python工具链(PyCharm+Anaconda)实现从Peer数据库获取地震波数据到生成脉冲地震波的全流程配置。通过开源工具EQTOOL和PySeismicGen,结合Python环境搭建、数据格式转换和脉冲地震动生成技术,为结构抗震分析提供高效、灵活的解决方案。

weixin_29093169的博客 430

转义字符(Escape character)

一、转义字符的概念二、转义字符表三、转义字符作用四、详解转义字符1、\0:空字符2、\n:换行符3、\r:回车符4、\t:水平制表符5、\v:垂直制表符6、\a:响铃7、\f:换页符8、\b:退格符9、\:反斜杠10、?:问号11、':单引号12、 ":双引号五、试题演练今天的分享就到这里了,希望和大家一起进步,加油!

2301_78995005的博客 1万+

【技术分享】语音多模态LLM越狱

语音多模态LLM越狱攻击作为一种新兴安全威胁,揭示了多模态模型在语音输入场景下的脆弱性。尽管已有多种攻击方法被提出,但其具体实现步骤、防御措施的有效性及行业影响等问题仍需进一步探索[9]。未来研究应聚焦于改进模型架构、开发针对性防御策略,并评估语音输入越狱攻击的实际危害。只有通过全面理解这些挑战,才能为多模态智能系统的安全性提供更可靠的保障。说到语音多模态LLM越狱的具体实现步骤,这其实是一个复杂且多层次的过程🧐。首先,攻击者需要深入分析目标模型的响应模式和安全机制,找出可能的漏洞点。

qq_29883477的博客 1261

【Flink】状态编程: 订单超时告警

文章目录一、基础概念二、Flink状态编程1、支持的状态类型2、Managed Keyed State六种类型基本API状态的生命周期3、Managed Operator State三、案例:订单延迟告警统计1、需求描述2、需求分析3、数据与模型4、详细实现 一、基础概念 在Flink架构体系中,有状态计算可以说是Flink非常重要的特性之一。 有状态计算是指: 在程序计算过程中,在Flink...

一只皮皮熊 2862

java转义字符怎么用_详解JAVA中转义字符

本文主要介绍JAVA中转义字符,分享给大家。具体如下:1.八进制转义序列:\ + 1到3位5数字;范围'\000'~'\377'\0:空字符2.Unicode转义字符:\u + 四个十六进制数字;0~65535\u0000:空字符3.特殊字符:就3个\":双引号\':单引号\\:反斜线4.控制字符:5个\' 单引号字符\\ 反斜杠字符\r 回车\n 换行\f 走纸换页\t 横向跳格\b 退格点的转...

weixin_32668987的博客 3863

数值计算之 插值法(4)切比雪夫零点插值

数值计算之 插值法(4)切比雪夫零点插值前言插值点选取第一类切比雪夫多项式拉格朗日插值多项式的余项切比雪夫零点插值后记 前言 上篇插值法讨论了多项式插值的解,以及龙格现象。本篇将介绍一种在抽取节点时有效降低龙格现象的方法——切比雪夫零点插值。 插值点选取 插值多项式阶数较高时,在取值空间均匀取点,容易出现龙格现象。 即区间边缘的插值结果与原函数差异很大,而区间中央的插值结果相对较好。这表明,高阶多项式插值对区间中央的节点拟合好,而对两端节点拟合效果差。 自然而然会想到,在两端多采样一些节点,在中间少采样一

qq_41035283的博客 1万+

Java转义字符

文章系统介绍了Java中各类转义字符的用法,包括标准转义序列(如\n、\t)、Unicode转义(\u)以及特殊场景应用。重点讲解了字符串处理、正则表达式、文件路径中的常见陷阱与正确写法,并提供了ANSI颜色输出、SQL处理等高级应用示例。文章还强调了编译时处理机制、性能优化建议,推荐使用专用库处理HTML/XML/JSON等结构化数据。最后指出合理使用转义字符对代码质量、安全防护的重要价值,是Java开发者必须掌握的核心技能。

weixin_74120671的博客 2943

代码生成 | 安时积分法模型搭建

安时积分法是电池电量计量最基础的方法,今天我们用simulink建模的方式做一个安时积分模型,从而更好地理解安时积分的思想也掌握建模的基础操 ​新建文件 打开MATLAB启动simulink新建一个模型文件 定义变量 和手写代码一样,先定义几个后面要用到的变量,在simulink建模时新建变量用Data Store Memory模块。双击填入要定义的变量名,然后在signal attributes赋初值 如此方法新建四个变量current(电流)初值1000mA、tatol_cap(总容量

ningvay的博客 1万+

化学科学催化反应产率预测之Transformer建模SMILES(Datawhale AI 夏令营)

循环神经网络:由于所有的前文信息都蕴含在一个隐向量中,随着序列长度的增加,早期的上下文信息会逐渐被遗忘。卷积神经网络:受限的上下文窗口在建模长文本时存在天然不足。需要多层卷积操作才能处理长文本。在本篇文章中,我们学习了Transformer的基本架构及其在化学反应产率预测中的应用。通过利用Transformer的Encoder部分对SMILES进行建模,我们能够更有效地捕捉序列数据的特征,从而提高模型的预测性能。

不想宅的冷同学 1096

Java——转义字符

本文主要介绍Java中的转义字符

Stewie Lee的博客 7593

OpenCASCADE完整教程专栏完整目录

OpenCASCADE完整教程专栏完整目录

希望我的博客,能帮上你解决学习中工作中所遇到的问题 9703

java的转义字符表

例如,如果我们需要在字符串中表示反斜杠字符本身,我们需要使用两个连续的反斜杠("\")。在Java中,也提供了一组转义字符,用于表示特定的字符或控制序列。然而,制表符应该使用 \t 进行表示,而不是在字符串中直接使用。然而,换行符应该使用 \n 进行表示,而不是在字符串中直接使用。然而,回车符应该使用 \r 进行表示,而不是在字符串中直接使用。然而,在字符串中表示反斜杠字符本身应该使用 \,而不是 \。在这个错误的示例中,我们在输出字符串中使用了错误的转义字符,导致编译错误或输出结果不符合预期。

牛肉胡辣汤 1742

手把手教你学Simulink--逆变器场景:基于Simulink的单相全桥逆变器PWM控制仿真建模

本文介绍了使用Simulink和Simscape Electrical库进行单相全桥逆变器PWM控制仿真建模的详细步骤。主要内容包括:从创建Simulink项目、添加电力电子组件、构建逆变器模型,到设置参数、运行仿真和结果分析。重点讲解了逆变器核心模块的配置、PWM信号生成、负载建模等关键环节,并提供了优化改进建议。该指南适用于电力电子初学者,通过仿真可以帮助理解单相全桥逆变器的工作原理和PWM控制技术,为实际应用和算法开发提供基础平台。

MHD0815的博客 666

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

java双引号的转义字符_JAVA中转义字符

JAVA中转义字符:1.八进制转义序列:\ + 1到3位5数字;范围'\000'~'\377'\0:空字符2.Unicode转义字符:\u + 四个十六进制数字;0~65535\u0000:空字符3.特殊字符:就3个\":双引号\':单引号\\:反斜线4.控制字符:5个\' 单引号字符\\ 反斜杠字符\r 回车\n 换行\f 走纸换页\t 横向跳格\b 退格点的转义:. ==> \u002E...

weixin_39921131的博客 8850

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

JAVA转义字符

JAVA中转义字符 2009-08-12 17:40   JAVA中转义字符: 1.八进制转义序列: + 1到3位5数字;范围'00'~'377' :空字符 2.Unicode转义字符:u + 四个十六进制数字;0~65535 u0000:空字符 3.特殊字符:就3个 ":双引号 ':单引号 \:反斜线 4.控制字符:5个 ' 单引号字符 \ 反斜杠字符 r 回车

ABC006250的专栏 910

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

java 解析转义字符_JAVA中转义字符

AVA中转义字符2010年08月11日 星期三 上午 12:22JAVA中转义字符:1.八进制转义序列:\ + 1到3位5数字;范围’\000’~’\377’\0:空字符2.Unicode转义字符:\u + 四个十六进制数字;0~65535\u0000:空字符3.特殊字符:就3个\”:双引号\’:单引号\:反斜线4.控制字符:5个\’ 单引号字符\ 反斜杠字符\r 回车\n 换行\f 走纸换页\t...

weixin_32660773的博客 894

java中常用的转义字符_java常用转义字符

JAVA中转义字符2009-08-12 17:40JAVA中转义字符:1.八进制转义序列:\ + 1到3位5数字;范围'\000'~'\377'\0:空字符2.Unicode转义字符:\u + 四个十六进制数字;0~65535\u0000:空字符3.特殊字符:就3个\":双引号\':单引号\\:反斜线4.控制字符:5个\' 单引号字符\\ 反斜杠字符\r 回车\n 换行\f 走纸换页\t 横向跳格...

weixin_35691715的博客 2061

java 转义符 输出,Java转义字符怎么输出的

Java转义字符怎么输出的以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!Java转义字符怎么输出的转义字符输出的代码如下:str.replace("\n","") 回车str.replace("\t","")换行str.replace(" ","")空格str.trim()前后空格java 输出%号 转义字符问题Str...

weixin_30356285的博客 3397

【Java】转义字符

Java中常用的转义字符,在ChangeChar.java文件中所示: //演示转义字符的使用 public class ChangeChar{ public static void main(String[] args){ // \t:一个制表位,实现对齐功能 System.out.println("北京\t天津\t重庆"); // \\:输出一个\ System.out.println("路径A\\路径B"); // \":输出一个" System.out.printl

chengwei1128的博客 4929

java 字符串中转义字符_Java中的转义字符

java 字符串中转义字符Learn how we can use escape sequence in Java了解如何在Java中使用转义序列 These characters can be any letters, numerals, punctuation marks and so on. The main thing when creating a string is that the ...

weixin_26720549的博客 6133

java转义字符响铃_java 的转义字符

JAVA中转义字符:1.八进制转义序列:\ + 1到3位5数字;范围'\000'~'\377'\0:空字符2.Unicode转义字符:\u + 四个十六进制数字;0~65535\u0000:空字符3.特殊字符:就3个\":双引号\':单引号\\:反斜线4.控制字符:5个\' 单引号字符\\ 反斜杠字符\r 回车\n 换行\f 走纸换页\t 横向跳格\b 退格点的转义:. ==> u002E美...

weixin_29466339的博客 414
上一篇: 严重: Exception loading sessions from persistent storage
下一篇: oracle添加组合唯一约束
iteye_5697
博客等级 码龄8年 1粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值