1,字符类型char用于存储单个字符,单个字符怎么理解呢?一个字母,汉字,符号,数字??
JAVA里的字符几乎可以处理所有国家的语言,那字符类型与UNICODE是一一对应的吗?汉字都不止65536个哦。。
这个问题困扰了好久,,一直不能理解。。
2,char x=‘a',由于a在unicode表中的排序位置是97,所以允许写成char x=97
这种对应的关系是计算机自动识别的吗?
2,System.out.println的语法是怎么样的?详解,举例说明最好。。
4,求余%是怎么回事?教程上的例子是12的余数是2。。为什么?
谢谢!

解决方案 »

  1.   

    1.java中的字符类型是16位,和Unicode是一一对应的。Unicode只规定了一部分汉字,并不是全部,但其覆盖了决大部分常用汉字。中国国家汉字标准目前有两个GB2312和GB18030,GB2312中包括了6,763个汉字,占日常生活所需要汉字的99.75%,GB 18030是对GB2312的扩展。我没有研究过Unicode中的汉字占多少(也没必要去研究),真正可用的汉字你有你说的那么多。都是死字。
    2。那种对应关系是自动识别的,
    3.println没有什么语法,你可能和printf弄混了。这个请去查看API文档吧。
    4.求余%是两个数相除后余下的整数,如6%4=2, 7%3=1. 
      

  2.   

    1:字符就是可以被计算机识别的符号。而计算机可以识别哪些符号又是由计算机所支持的编码集所决定。而计算机所支持的编码集通常也就是编程语言所支持(或者说成使用)的编码集。Java语言所使用的编码集是Unicode编码集,而Unicode是目前世界上最大的一个编码集,所包括了几乎所有的文字符号,所以,Java里的字符可以处理几乎世界所有的字符。
    顺带说一下编码集:
    编码集就是一个符号用一个唯一的数字来代表的集合。
    由于计算机不能直接处理人类世界所使用的各种符号,而计算机可以直接处理数字,所以为了让计算机能处理各种符号,所以就需要把符号转成数字(术语:编码),每一个符号用一个唯一的数字来代表,而表达这个符号-数字一一对应关系(术语:映射)的文档,我们就叫它编码集。然后计算机会“自动”根据你所输入的符号去编码集中寻找那个唯一的数字(术语:解码),处理完这个数字后,又一次参照编码集把计算后的数字再转换成符号(术语:重编码)显示在屏幕上。2:其实刚刚在讲编码集的时候,已经回答了这个问题:简单说说为啥97是'a'。在计算机刚发明的时候,为了能处理符号,所以先辈们要做的第一件事就是进行编码,先辈们喝着茶,看着色情录像,排列了一下字母表的顺序,刚好'a'轮到了97,所以97就是'a'的编码了。(我这里要说的意思其实就是想告诉你,所谓编码就是一堆所谓的权威们把一个数字和一个符号对应,然后告诉大家要这样做,然后因为大家都很相信权威,然后大家都这样做了,然后这个编码就是标准了,其实要是你想自己做个字符编码,你想把'a'的编码定为33,然后自己用,这也是完全可以做到的。当然,因为你不是权威,所以你要想让大家都来用,估计就有点难了。)3:System.out.println();就是语法,它所说的就是有一个叫System的类,它有一个叫out的静态对象,而out有一个方法叫println()。4:求余就是求余数,数学上取了个专业术语,叫“取模”,意思就是整除一个数,看它的余数是多,楼主似乎把1%2的值写错了。
    1%2的意思就是用2来整除1,商是0,而余数就是1,所以1%2的值应该是1,而不是楼主所说的2,请楼主再查一下书,看是不是说错了。谢谢。