我在我的程序中注意到一些奇怪的行为,至少对我来说是这样。
输出不正确:
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是否做了一些特殊的事情,而当空字符串紧跟在算术表达式之后时,Java7不会这样做?
发布于 2012-12-27 02:36:40
+运算符有两个含义。
number + number表示加法;string + anything表示字符串连接。
+运算符是左结合的。
因此,"" + a + b"被解析为("" + a) + b
发布于 2012-12-27 02:39:49
您的括号有问题。
("" +(count*2)) + 1和
(count*2 + 1) + ""是不一样的。
https://stackoverflow.com/questions/14044678
复制相似问题