【发布时间】:2012-08-19 18:09:37
【问题描述】:
为什么在这些情况下输出不同?
int x=20,y=10;
System.out.println("printing: " + x + y); ==> 印刷:2010
System.out.println("printing: " + x * y); ==> 打印:200
为什么第一个输出不是 30?它与运算符优先级有关吗?就像第一个“打印”和 x 被连接,然后这个结果字符串和 y 被连接?我说的对吗?
【问题讨论】:
-
"printing:" + x 将其转换为字符串,然后 + y 只是字符串连接。其中 xy '' 首先执行,因此你会得到 200。
-
以为你知道答案,却又想找乐子;)
-
@SenthilKumar 我不确定答案。
标签: java