在调试消息中放置空字符串调试Java 7看似奇怪的行为
我注意到了一些奇怪的行为,至少对我来说是这样
输出不正确:
public static void main(String[] args)
{
while(count < 3)
{
System.out.println("Count: " + count);
System.out.println("" +(count*2)+1);
count++;
}
}
生成以下打印语句:
Count: 1
21
Count: 2
41
鉴于本计划:
public static void main(String[] args)
{
while(count < 3)
{
System.out.println("Count: " + count);
System.out.println((count*2)+1 + "");
count++;
}
}
产生以下输出:
Count: 1
3
Count: 2
5
我的问题是,当您将空字符串""
放在算术表达式的前面时,Java7是否做了一些特殊的事情,而当空字符串跟在该算术表达式后面时,它不会做这些事情
# 1 楼答案
+
运算符有两种含义number + number
表示加法string + anything
表示字符串连接+
运算符是左关联的因此,
"" + a + b"
被解析为("" + a) + b
# 2 楼答案
括号有问题
及
它们不一样