我对为什么返回1感到困惑;
(char)('0' + 11) = ;
为什么?
下面的完整代码,结尾为1;
char[] ending;
char a = (char)('0' + 11/10);
ending = new char[]{a, (char)('0' + 11)};
System.out.println(ending);
'0'
的字符值是48。';'
。您可以在互联网上的任何ASCII字符集中以整数值检查char
值。
在Java中,char
可以用作int
,short
,byte
,long
,其值介于0到65535之间,无需任何强制转换。
在Java char is also an int?中找到了更好的解释
您正在为变量a分配'1'。 '0'+ 11/10 =>'0'+ 1您正在为结尾分配两个字母的字符串。 Le第一个字母为('1'),第二个字母为半冒号。 ('0'+ 11)。