如果我们在链中为变量赋值,如下所示,
int x=10, y=15;
int z=x=y;
System.out.println(x+" : "+y+" : "+z);
那么所有三个变量的值x,y和z变为15。
但是,我不理解数组的以下现象。
int array[]={10, 20, 30, 40, 50};
int i = 4;
array[i] = i = 0;
System.out.println(array[0]+" : "+array[1]+" : "+array[2]+" : "+array[3]+" : "+array[4]);
它输出10 : 20 : 30 : 40 : 0. array[4]它用替换最后一个元素的值0。
关于之前的赋值语句 - int z=x=y;,我希望第一个元素的值意味着array[0]替换为0. 为什么不是这样?这很简单,但我无法弄清楚。你能解释一下吗?
顺便说一句,这个赋值语句array[i] = i = 0;是虚拟的,它在这段代码中没有自己的价值,不应该再使用,但我只是想知道在这种情况下事情是如何工作的。