在给定的代码中,为什么结果如此 在迭代中没有捕获加法?为什么x的值永远不会改变?
public class Fortran {
static int bump(int i) { return i + 2; }
public static void main(String[] args) {
for(int x = 0; x < 5; bump(x))
System.out.print(x + " ");
}
}
答案 0 :(得分:3)
Java通过复制传递值,因此bump
只获取x
的副本
bump
返回的值永远不会分配给x
(也许您忘了x =
)。
也许试试
for(int x = 0; x < 5; x = bump(x))
答案 1 :(得分:0)
这只是因为你的新价值从未被分配。 这样做的正确方法更多。
for(int x=0;x<5;x+=2)
{
//do whatever you want
}
注意:x + = 2是x = x + 2
的简写