arr1[i++] = arr2[j++] 背后的逻辑是什么?

Gui*_* Li 0 java algorithm

我明白如果我有以下任务

arr[i++] = 1 相当于

arr[i] = 1; 
i++;
Run Code Online (Sandbox Code Playgroud)

但确实

arr1[i++] = arr2[j++]

相当于

arr1[i] = arr2[j];
i++;
j++;
Run Code Online (Sandbox Code Playgroud)

关于什么

int i = 0;
while(i++ < 5){ 
    // do something...
}
Run Code Online (Sandbox Code Playgroud)

机器是否执行 //do something一个然后增加 1 然后评估 i 当前是否 < 5?

有人可以帮我理解这一点吗?

Mar*_*nik 5

实际上,arr[i++] = 1相当于

int i1 = i;
i = i + 1;
arr[i1] = 1;
Run Code Online (Sandbox Code Playgroud)

差异在表达式中变得相关

arr[i++] = i;
Run Code Online (Sandbox Code Playgroud)

wherei已在其值写入数组时递增。我希望这些信息足以解决您的问题。