System.out.println(“is ”+ 100 + 5);
System.out.println(100 + 5 +“ is”);
System.out.println(“is ”+ (100 + 5));
这三行代码展示了 Java 中的字符串拼接与运算符的结合。具体来说,+ 运算符既用于字符串拼接,也用于数值相加(加法运算)。但是,它们的优先级和执行顺序有所不同,因此输出的结果也不同。我们一起来分析一下每一行代码:
1. System.out.println(“is ”+ 100 + 5);
分析:
- 这行代码首先将
"is "和100进行字符串拼接。由于"is "是一个字符串,+运算符会将100转换为字符串并拼接在后面。 - 然后,得到的字符串
"is 100"会与5继续进行字符串拼接,5也会被转换为字符串。 - 所以,最终的输出结果是:
is 1005
2. System.out.println(100 + 5 + “ is”);
分析:
- 在这行代码中,
100 + 5会首先执行,因为加法运算符+对于数字具有更高的优先级。 100 + 5计算得到105。- 然后,
105和" is"进行字符串拼接,105被转换为字符串并连接在" is"前面。 - 所以,最终的输出结果是:
105 is
3. System.out.println(“is ”+ (100 + 5));
分析:
- 在这行代码中,括号
()强制先计算100 + 5,这会得到105。 - 然后,
"is "和105进行字符串拼接。由于"is "是字符串,105会被转换为字符串并拼接在"is "后面。 - 所以,最终的输出结果是:
is 105
总结:
- 第一行 (
“is ”+ 100 + 5):"is "和100先拼接成字符串"is 100",然后再拼接5,结果是is 1005。 - 第二行 (
100 + 5 + “ is”):100 + 5先计算得到105,然后与" is"拼接,结果是105 is。 - 第三行 (
“is ”+ (100 + 5))):(100 + 5)先计算得到105,然后与"is "拼接,结果是is 105。
通过这个分析,可以看到 Java 中字符串拼接和加法运算的优先级问题,尤其是在字符串和数字的混合运算中,括号的使用可以改变运算顺序,从而影响最终的输出结果。 [Something went wrong, please try again later.]