Java基础:字符与 char

    技术2022-05-19  19

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

     


    最新回复(0)