Java小细节之字符串与数字拼接

zhouyuejun / 2024-01-15 / 原文

int a = 10;
System.out.println(a+1 +"字符串拼接"+a+1);
此时输出 :11字符串拼接101
为什么?
这是因为在Java里,如果数字前没有字符拼接,那么先进行数字运算,就像第一个a+1,先得出11。
但是第二个a+1前有字符拼接,那么第二个a+1就会被Java解析为字符拼接而不是数字运算,所以就得出10 1,因为它已经被当成是字符拼接了。
如果想得出两个都是数字运算,可以加上括号(a+1 +"字符串拼接"+(a+1))。这样可以得出两个11。