为什么单个Java char变量可以表示超过65535个字符?

为什么单个Java char变量可以表示超过65535个字符?,java,unicode,char,Java,Unicode,Char,Java中的char为2字节,您可以通过运行以下代码获得其范围: System.out.println((Character.MIN_VALUE + 0) + "<char<" + (Character.MAX_VALUE + 0)); 但是为什么呢?文本280388456超出了char范围,在char类型的上下文中,它实际上是25448(因为280388456%65536=25448)。这似乎是捨。另一个字符也是如此。类似:字节b=(字节)1000000。你认为那有什么用?(测试

Java中的char为2字节,您可以通过运行以下代码获得其范围:

System.out.println((Character.MIN_VALUE + 0) + "<char<" + (Character.MAX_VALUE + 0));

但是为什么呢?

文本
280388456
超出了
char
范围,在
char
类型的上下文中,它实际上是
25448
(因为
280388456%65536=25448
)。这似乎是
。另一个字符也是如此。

类似:
字节b=(字节)1000000。你认为那有什么用?(测试!)回顾
   char testChar = (char) 70000;
    char testChar2 = (char) 280388456;
    System.out.println(testChar);   //prints ᅰ
    System.out.println(testChar2);  //prints 捨