Java - 为什么字符“+”不会出现在控制台上?

Nar*_*ari 4 java char println

我正在制作一个简单的计算器,这是我的代码。

public static void main(String[] args) {
    int x = 3;
    int y = 7;
    char w = '+';
    
    System.out.println(x+w+y+"="+(x+y));
}
Run Code Online (Sandbox Code Playgroud)

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

Kon*_*lph 6

char在 Java 中,s 可以隐式转换为整数。x + w + y增加了他们的价值。字符的整数值'+'恰好是 43,所以你得到 3 + 43 + 7 (= 53)。

与您所说的相反,将w放入括号并不会改变这一点。

要解决此问题,请将其w设为String

String w = "+";
Run Code Online (Sandbox Code Playgroud)