Java中char型变量存放的是字符吗?

 

  学习编程的过程中,在基本数据类型这块我们总是说char型变量存放一个的是字符,但是严谨地说,char型变量存放的真的是字符吗?

 

  字符是字母、数字、汉字图形、特殊符号这样的字符,计算机显示字符是用点阵的形式显示的,每一个字符都对应一个自己的点阵,所有字符的点阵数据都存放在字库中。

  对应地,每个字符的点阵都有个编号,这个编号就是UNICODE编码,这个编码类似于字符点阵的身份证号,是一个占2个字节得short类型的数字,有了这个编码,就能在字库里唯一对应地找到编码所对应的字符点阵。

  char型变量存放的其实就是这个两字节的short类型的编号,只是char型数据在显示的时候不是显示这个编码数字,而是对应这个编码找到字符点阵去显示这个点阵,显示出来后即这个字符。

  这也是为什么定义int型变量如下语句也是对的的原因(程序中short型的变量会被编译器自动转换类型为int型):

  int a='a';

posted @ 2017-05-02 22:02  maningyanin  阅读(4574)  评论(0编辑  收藏  举报