This question already has answers here:
Why does my String turn into Integers instead of letters after I add characters with +? [duplicate]

(5 个回答)


11 个月前关闭。




我正在制作一个简单的计算器,这是我的代码。
public static void main(String[] args) {
    int x = 3;
    int y = 7;
    char w = '+';

    System.out.println(x+w+y+"="+(x+y));
}
结果显示为“53 = 10”,我不明白为什么“+”不会出现以及 53 来自何处。当我在最后一行使用 (w) 而不是 w 时,会出现正确的结果“3+7=10”。

最佳答案

char 在 Java 中可以隐式转换为整数。 x + w + y 添加它们的值。字符 '+' 的整数值恰好是 43,所以你得到 3 + 43 + 7 (= 53)。
与您所说的相反,将 w 放入括号并不会改变这一点。
要解决此问题,请将 w 变成 String :

String w = "+";

关于Java - 为什么 char '+' 不会出现在控制台上?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62794923/

10-10 10:09