【发布时间】:2019-09-25 21:22:08
【问题描述】:
我用了这个说法
System.out.println("Y"+90+90);
Java 显示的答案是Y9090。我了解Java如何执行此操作。如果使用运算符+,则字符串与文字连接。因此Y首先与90连接,形成Y90作为新字符串,然后再次Y90与90连接形成Y9090作为结果字符串。
当我把上面的表达式改成:
System.out.println("Y"+90-90);
Java 显示错误。在这一个中,Y 与90 连接,形成Y90 作为一个新字符串。这个新字符串面对- 运算符并产生错误。
但如果我这样写:
System.out.println("Y"+90*90);
答案显示为Y8100。
这怎么可能?它应该产生错误,或者 Java 应该为第二个语句产生类似的答案,例如 Y0 而不会产生错误。
【问题讨论】:
标签: java concatenation string-formatting string-concatenation type-promotion