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