关于变量值如何工作的值,我有一个简短的问题。我现在正在开发一个程序,它看起来像这样:
public void run() {
println("There are " + ATOMS + " initially.");
int atoms = ATOMS;
int year = 0;
while (atoms > 0) {
for (int i = atoms; i > 0; i--) {
println(i);
if( rgen.nextBoolean() ) {
atoms--;
println("The total atoms is " + atoms);
}
println("The total for i is " + i + "\n" );
}
year++;
println("There are " + atoms + " at the end of year " + year );
}
}
在带有 for 循环的部分,并将变量 i 设置为原子的值,这让我感到困惑。假设原子的值从 20 开始。它通过 for 循环并假设第一次通过 RandomGenerator 使其成为真的。所以从原子中减去 1。然后,由于 i-- 的存在,i 的值也应该被减去。所以我的问题是:当我将变量 i 设置为 atom 的值时,是否只需要 i 并将其设置为初始值 20?然后从那里每次我调整 i 的值时,它都会脱离自己的 20 版本,然后当我改变 atom 的值时,它也有自己的值。所以当我从原子中减去时,那不是也从 i 中减去吗?这是我能理解它的唯一方法,因为该程序已编写并且可以正常工作,但那部分让我感到困惑。
非常感谢您的帮助!