解决方案 »

  1.   

    java采用的是unicode编码,char统一是2字节16位的,所以char的最大值是65535,你可以打印一下这个试试Character.MAX_VALUE所以这个是300也就不奇怪了。
      

  2.   

    难道不应该是300么300的int强转为char就是转为ascii码为300的字符(虽然没有但存在栈中的值是300)。
      

  3.   


    package csdn;public class NumberTest { public static void main(String[] args) {
    // TODO Auto-generated method stub int a = 0x00000061;//97也就是32位-> 0000 0000 0000 0000 0000 000 0110 0010
    char c = 0x0061;//a -> 97 16位-> 0000 0000 0110 0010 System.out.println(a);
    System.out.println(c);
    /**结果 :
     * 97
     * a
     * 
     *  由此可见,int -> char 是变窄,取后 16位
     */
    }}
      

  4.   

    char在Java中是双字节的怎么不能是300?你以为是像C一样吗?