Java基础:Java字符,
Java基础:Java字符,
1. Java字符采用的是Unicode编码
用两个字节来表示一个字符。
需要注意:
*Java的class文件采用UTF-8编码方式,JVM运行时采用UTF-16编码方式。
* Java的字符编码是unicode编码,即两个字节(16位)。
* Java中的String类是按照unicode进行编码的。
对于我们常用的GBK中,英文是占用1个字节,中文是2个
对于UTF-8,英文是1个,中文是3个
对于Unicode,英文中文都是2个
2. char表示的范围
字节数: 2otcs
数值: 0-65535
即:'/u0000' ~ '/uFFFF' <=> (char)0 ~ (char)65535
'/u0000' ~ '/uFFFF' 没有小写字母如/u00ad是错误的。
如下所示例子:
char ch = '张'; System.out.println(ch);//张 System.out.println((int)ch);//24352,十六进制5F20 System.out.println('/u5F20');//张 System.out.println((char)0x5f20);//张 System.out.println((char)24352);//张 System.out.println('/uFFFF');//符号 ? System.out.println((char)65535);//符号 ?
另外,/u0000表示空值,有空格的作用,但不是null值。
System.out.print('/u0000' + "ok");//空格 ok System.out.println((char)0);//空格
3. 转义字符
* n:换行符,unicode值为'u000A' * t:制表符,unicode值为'u0009' * r:回车符,unicode值为'u000D' * ":双引号,unicode值为'u0022' * ':单引号,unicode值为'u0027' * /:反斜杠,unicode值为'u005C' * b:退格符,unicode值为'u0008'
某些特殊的字符可以采用转义符来表示,如换行和制表符在源文件直接出现会被当做分隔符、而不是做字符常量来使用.
上面给出一些常见的Java程序中用到的转义符。
如果在代码中使用/u0000-/uFFFF方式来引用字符,遇到有些转义字符如回车符会报错的。
error: 字符字面值的行结尾不合法
System.out.println('/u0009' + "wo"); System.out.println('/u0008' + "wo"); System.out.println('/u0022' + "wo"); /*以下均会报错*/ /*System.out.println('/u0027' + "wo");*/ /*System.out.println('/u005C' + "wo");*/ /*System.out.println('/u000A' + "wo");*/ /*System.out.println('/u000D' + "wo");*/ s
相关文章
- 暂无相关文章
用户点评