Java中的char是2个字节,您可以通过运行以下代码来获取其范围:
System.out.println((Character.MIN_VALUE + 0) + "<char<" + (Character.MAX_VALUE + 0));
它是0~65535
但我很困惑,我们可以将整数值(&gt; 65535,如70000)转换为char,并将其打印出来:
char testChar = (char) 70000;
char testChar2 = (char) 280388456;
System.out.println(testChar); //prints ᅰ
System.out.println(testChar2); //prints 捨
但为什么?
答案 0 :(得分:2)
280388456
字面值超出char
范围,而char
类型的上下文实际上是25448
(因为280388456 % 65536 = 25448
)。这似乎是捨
的索引。其他角色也是如此。