我是Java的新手,正在使用简单的打印。首先,我执行了:
System.out.println(1 + 2 + "3");
输出: 33
我编写了逻辑,即将添加1和2,并按原样打印3。
然后,我尝试了这个:
System.out.println ("1" + 2 + 3);
输出: 123
应用这种逻辑我得到答案15,无法找出正确的答案,所以我需要你的帮助,所以朋友们。
答案 0 :(得分:5)
从左侧开始运算符+
,因此您的第二个示例将以这种方式解释:
System.out.println (((“1”+2)+3));
====================> "12"+3
====================> "123"
如果您想显示15
,那么您应该执行以下操作:
System.out.println (“1”+(2+3));
这种方式(2+3)
将首先进行评估。
答案 1 :(得分:2)
表达式1 + 2
是int
然后,您将"3"
连接到该int。
表达式"1" + 2
是String
然后,您将3
连接到String
。
您正在考虑"1" + (2 + 3)
,因为Java是左关联的,所以不会发生这种情况。
答案 2 :(得分:1)
在第一种情况下,Java添加数字以获得结果3,而附加字符串3使其成为连接字符串:“33”。
在第二种情况下,结果是一个字符串,因为“1”而其他结果被连接成“123”