Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的变量值_Java_Variables_Coding Style - Fatal编程技术网

Java中的变量值

Java中的变量值,java,variables,coding-style,Java,Variables,Coding Style,我有一个关于变量值如何工作的快速问题。我现在正在做一个项目,看起来是这样的: 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)

我有一个关于变量值如何工作的快速问题。我现在正在做一个项目,看起来是这样的:

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开始,然后当我改变原子的值时,它也有它自己的值。所以当我从原子中减去时,这不也是从I中减去的吗?这是我能理解它的唯一方法,因为这个程序是正确编写和运行的,但这部分让我感到困惑


提前非常感谢您的帮助

一旦设置i=atoms的值,它就不再改变。它是循环初始值设定项,将不再被处理

“i”当然会不断递减(因为i-递减)


但是您可以将原子的值更改为任意值,结果不会更改。

i=atoms
for
循环中的初始化。因此,接下来,
i
的值独立于
原子

是的,您已经回答了您自己的问题。变量
i
atoms
是两个独立的实例


启动循环时,您将
i
设置为与
原子相同的值,但它们仍然是独立的变量。因此,在循环内部,当您更改一个的值时,它不会影响另一个。

在第一次循环迭代之前,您正在使用
atoms
初始化
i
。进入循环后对
atoms
的任何更改都不会对
i
产生影响。在初始化之后,
i
atoms
完全独立存在,它们之间没有“通信”。
i--
不会改变
atoms
的值。这就是我的想法,但我只是有点困惑,因为当我看到它写为i=atoms时,当我改变原子的值时,它也会改变I的值。非常感谢你澄清这一点!