我是 Java 新手。当我处理下面的循环时,我想显示循环的计数器值增加 1。当我保留下面的代码时,我得到的值就像将 1 与计数器值连接一样。为什么是System.out.println
使用串联而不是加法?
for (c = 0; c < Size; c++) {
System.out.println("here the problem " + c+1 + " Case");
}
最佳答案
+
运算符对于串联和相加都重载,并且两个运算符具有相同的优先级,因此运算从左到右进行计算。
从左边开始,遇到的第一个操作数是一个字符串“这里是问题”
,因此运算符知道它应该执行连接。它继续将 c
连接到该字符串,产生一个新的字符串。
因此,第二个 +
对生成的字符串和 1
进行操作,因此它再次进行连接。
如果您想专门控制操作的顺序,并在 "here the Problem"+ c
之前计算 c + 1
,那么您需要将操作括起来括号中:
"here the problem " + (c + 1) + " Case"
关于java - 加法运算符 (+) 执行串联而不是加法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40013000/