小编典典

一个char和一个int相加的结果

java

考虑以下代码:

System.out.println('G'+2);

输出为73。我能知道为什么以及如何吗?


阅读 309

收藏
2020-11-26

共1个答案

小编典典

在Java中,a charUTF-16编码中占16位。

GunicodeU+0047二进制的0000 0000 0100 1111

当您将a char和an int(32位)相加时,charint通过插入0其二进制表示的开头来转换为。因此0000 0000 0100 1111被转换为0000 0000 0000 0000 0000 0000 0100 1111(十进制为71)。

这就是为什么你得到73

2020-11-26