以下代码的输出结果是什么?
int X=100;
int Y=200;
System.out.println("X+Y="+X+Y);
System.out.println(X+Y+"=X+Y");
为什么会有这样的输出结果?
输出结果是:
X+Y=100200
100200=X+Y
出现这样的输出结果是因为在Java中,当多个值连接在一起时,会根据操作符的优先级进行计算。在第一个System.out.println语句中,+操作符用于字符串连接,而不是数学加法。由于X+Y是一个没有加括号的表达式,Java会先进行算术加法操作,因为算术加法的优先级高于字符串连接。所以,X+Y会被计算为300,然后这个数值与字符串"X+Y="连接起来,形成"X+Y=300"。
在第二个System.out.println语句中,X+Y同样被计算为300,但是这次它被放在了字符串的外面,并且由于+操作符的优先级高于字符串连接,所以300会先与"=X+Y"连接,形成字符串"300=X+Y"。