1)char不是一个字节吗?为何在java里,可代表两字节unicode的'你'?
跟java编译器有关的吧
2)char与int间,为什么可以相互转换?char(p2)得到'你',而(int)chinaWord得以20320?char 在内存中是16位 int在内存是32内 当然可以互相强制转换 格式化输出%c %d 本人出来csdn 可以这样理解吗?请给分 本人穷

解决方案 »

  1.   

    1.char是16位,既然是16位了,当然是两字节了。
    2.char可以向int转型是强转化,从int转char也是强转化,是一样的,只不过不同的是int范围大,如果转型超过char的大小,会出现错误,可是你这个小于65535并没超出范围,当然可以转化回来
      

  2.   

    java中char是2个字节,所以可以存一个汉字。
    2个字节最大就是2的16次幂-1,即最大可以表示65535的正整数。
    int是4个字节,所以char可以转换为int,
    int也可以转换为char,但int值大于65535时,会出现溢出情况。