【发布时间】:2012-12-06 12:15:22
【问题描述】:
这是我的代码:
public static void main(String[] arg)
{
String x = null;
String y = "10";
String z = "20";
System.out.println("This my first out put "+x==null?y:z);
x = "15";
System.out.println("This my second out put "+x==null?y:z);
}
我的输出是:
20
20
但我期待这个:
This my first out put 10
This my second out put 20
有人能解释一下为什么两个 println 调用的输出都为“20”吗?
【问题讨论】:
-
Sumit Singh 的回答解释了为什么输出是这样的。原因是运算符优先级,见this document
标签: java concatenation conditional-operator println