java char class_Java基础:字符与 char

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是错误的。

[Java中的一个char采用的是Unicode编码集,占用两个字节,而一个中文字符也是两个字节,因此Java中的char是可以表示一个中文字符的。 但是在C/C++中由于采用的字符编码集

如下所示例子:

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");*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值