在Java中链接数组赋值

Lio*_*ion 6 java

请考虑Java中的以下代码段.我知道temp[index] = index = 0;以下代码片段中的语句几乎是不可接受的,但在某些情况下可能是必要的:

package arraypkg;

final public class Main
{
    public static void main(String... args)
    {
        int[]temp=new int[]{4,3,2,1};
        int index = 1;

        temp[index] = index = 0;
        System.out.println("temp[0] = "+temp[0]);
        System.out.println("temp[1] = "+temp[1]);
    }
}
Run Code Online (Sandbox Code Playgroud)

它在控制台上显示以下输出.

temp[0] = 4
temp[1] = 0
Run Code Online (Sandbox Code Playgroud)

我不明白temp[index] = index = 0;.

怎么temp[1]包含0?这项任务是如何发生的?

Joo*_*gen 9

赋值是done(temp[index] = (index = 0)),右键关联.

但首先temp[index]评估表达式的LHS变量.那时index仍然是1.然后RHS(index = 0)完成了.