奇怪的java打印输出
问题描述:
我是Java新手,正在使用简单的打印。首先,我执行:奇怪的java打印输出
System.out.println(1 + 2 + "3");
输出:33
我由逻辑1和2将被添加和3将被打印为是。
然后,我尝试这样做:
System.out.println ("1" + 2 + 3);
输出:123
运用这个逻辑我回答15,不能工作出正确的答案,所以我需要你的帮助, SO朋友。
答
操作+
从左边,这样你的第二个例子是这样解释的评价:
System.out.println (((“1”+2)+3));
====================> "12"+3
====================> "123"
如果你想显示15
那么你应该做到以下几点:
System.out.println (“1”+(2+3));
这样将首先评估。
答
表达
1 + 2
为int
。
然后,您将"3"
连接到该int。表达式是
String
。
然后,您将3
连接到String
。
你在考虑"1" + (2 + 3)
,因为Java是左关联的,所以没有发生。
答
在第一种情况下,Java添加数字以获得结果3,并且追加字符串3使其成为连接字符串:“33”。
在第二种情况下,结果是因为“1”的字符串和别人得到串联成为“123”