Java基础:Java字符

本文详细介绍了Java中字符采用的Unicode编码方式及其特点,包括Java的class文件与JVM运行时的不同编码方式、char类型的表示范围及数值区间,并列举了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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值