您现在的位置是:主页 > news > 万脑网站建设/全国十大跨境电商排名

万脑网站建设/全国十大跨境电商排名

admin2025/5/15 2:36:30news

简介万脑网站建设,全国十大跨境电商排名,不备案 网站 盈利,网站建设云服务器与虚拟主机注意:最初我发布C#代码在这个答案为了说明的目的,因为C#允许你传递int参数通过引用ref关键字。我决定更新它与实际法律Java代码使用我发现在谷歌的第一个MutableInt类大约什么ref在C#。我不能真正地告诉这是否有助于或伤害了答案。我会说,我个…

万脑网站建设,全国十大跨境电商排名,不备案 网站 盈利,网站建设云服务器与虚拟主机注意:最初我发布C#代码在这个答案为了说明的目的,因为C#允许你传递int参数通过引用ref关键字。我决定更新它与实际法律Java代码使用我发现在谷歌的第一个MutableInt类大约什么ref在C#。我不能真正地告诉这是否有助于或伤害了答案。我会说,我个…

注意:最初我发布C#代码在这个答案为了说明的目的,因为C#允许你传递int参数通过引用ref关键字。我决定更新它与实际法律Java代码使用我发现在谷歌的第一个

MutableInt类大约什么ref在C#。我不能真正地告诉这是否有助于或伤害了答案。我会说,我个人没有做过这么多的Java开发;所以我知道可以有更多的惯用方法来说明这一点。

也许如果我们写出一个方法来做对等的x,它会使这个更清楚。

public MutableInt postIncrement(MutableInt x) {

int valueBeforeIncrement = x.intValue();

x.add(1);

return new MutableInt(valueBeforeIncrement);

}

对?递增传递的值并返回原始值:这是postincrement运算符的定义。

现在,让我们看看这个行为在你的示例代码中如何发挥:

MutableInt x = new MutableInt();

x = postIncrement(x);

postIncrement(x)做什么?增加x,是。然后返回增量之前的x。然后,此返回值将分配给x。

因此,分配给x的值的顺序为0,然后为1,然后为0。

如果我们重写上面的话,这可能会更清楚:

MutableInt x = new MutableInt(); // x is 0.

MutableInt temp = postIncrement(x); // Now x is 1, and temp is 0.

x = temp; // Now x is 0 again.

你的固定上的事实,当你用y替换上面的作业左侧的x,“你可以看到,它首先增加x,后来属性它y”打扰我困惑。它不是被分配给y的x;它是以前分配给x的值。真的,注入y使事情没有不同于上面的情况;我们得到:

MutableInt x = new MutableInt(); // x is 0.

MutableInt y = new MutableInt(); // y is 0.

MutableInt temp = postIncrement(x); // Now x is 1, and temp is 0.

y = temp; // y is still 0.

所以很清楚:x = x有效地不改变x的值。它总是使x具有值x0,然后x0 1,然后再x0。

更新:顺便说一下,为了避免怀疑x曾经被分配到上面例子中的增量操作和赋值之间的1“,我把一个快速演示示例说明了这个中间值确实”存在“,虽然它将永远不会在执行线程上“看到”。

演示调用x = x;在一个循环中,而单独的线程连续打印x的值到控制台。

public class Main {

public static volatile int x = 0;

public static void main(String[] args) {

LoopingThread t = new LoopingThread();

System.out.println("Starting background thread...");

t.start();

while (true) {

x = x++;

}

}

}

class LoopingThread extends Thread {

public @Override void run() {

while (true) {

System.out.println(Main.x);

}

}

}

下面是上面程序的输出的摘录。注意1和0的不规则出现。

Starting background thread...

0

0

1

1

0

0

0

0

0

0

0

0

0

0

1

0

1