java字符串中的“u”是什么意思

Python025

java字符串中的“u”是什么意思,第1张

\u是转义字符表示后面跟一个十六进制数,通过这个十六进制数来指定一个字符,face这样看着好容易误导,其实就是一个十六进制数而已转换成十进制就是64206。

0xface是在表示整形的时候这样使用,比如int a = 0xface,而这儿,是表示一个字符,因为在java以及其他很多语言中,都是用反斜杠来表示转义字符。用\是表示后面是转移字符,用u是unicode的缩写,表示后面是一个unicode字符。其实只是写法问题。

扩展资料

字符串之所以特殊,是因为java会在内容中为String类型的对像开辟一个空间,叫串池,字符串对象的创建之后会被放入到串池中。串池有一个特点,就是对于相同对象,池中只存储一份。

String a="abc"和String b="abc" 对于这样的类型的声明方式(不是new出来的)串池把他们看做一个对象,所以池中只存储一分,只是有a 和b 两个引用罢了!对于String只要用new关键字new出来的string,都是单独的一个对象。

稍微深入一点的分析会认为该程序应该打印16,因为两个Unicode转义字符每一个在源文件中都需要用6个字符来表示,但是它们只表示字符串中的一个字符。因此这个字符串应该比它的外表看其来要短10个字符。 如果你运行这个程序,就会发现事情远不是这么回事。它打印的既不是26也不是16,而是2。 理解这个谜题的关键是要知道:Java对在字符串字面常量中的Unicode转义字符没有提供任何特殊处理。编译器在将程序解析成各种符号之前,先将Unicode转义字符转换成为它们所表示的字符[JLS 3.2]。因此,程序中的第一个Unicode转义字符将作为一个单字符字符串字面常量("a")的结束引号,而第二个Unicode转义字符将作为另一个单字符字符串字面常量("b")的开始引号。程序打印的是表达式"a".length()+"b".length(),即2。

JAVA中转义字符:

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