【发布时间】:2020-03-20 18:43:23
【问题描述】:
所以我这里有这段代码:
char a = '1';
char b = '2';
System.out.println(a+b); \\ Outputs 99
我想知道为什么,因为这段代码:
char a = '1' + '2';
System.out.println(a); \\ Outputs c
我想增强我的原始思想,请帮助一个志趣相投的人。
【问题讨论】:
-
每个字符对应一个numeric value,称为codepoint。您的代码实际上是在执行
println( (int) a + (int) b )和char a = (char) ((int) '1' + (int) '2')。如果要连接字符串,请使用字符串,而不是字符。 -
我明白了,基本上我将第一个视为 int,第二个视为 char。谢谢,这很有启发性。