変数値がどのように機能するかの値に関して簡単な質問があります。私は現在、次のようなプログラムに取り組んでいます。
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をアトムの値に設定すると、それはiを取り、それを初期値の20に設定するだけですか?そして、そこからiの値を調整するたびに、それ自体のバージョンの20が削除され、アトムの値を変更すると、それも独自の値になります。それで、私が原子から引くとき、それは私からも引かれていませんか?このプログラムは正しく書かれていて正しく動作するので、それが私がそれを理解できる唯一の方法ですが、その部分は私を混乱させます。
よろしくお願いします!