public class Main{
public static void main(String[] args){
int a = 0;
int[] b = new int[5];
int c = 3;
b[a] = a = 3;//a is covered with 3, why the entry assigned with 3 is b[0] instead of b[3]
System.err.println(b[0]);
System.err.println(b[3]);
System.err.println(b[a]);
}
}
Run Code Online (Sandbox Code Playgroud)
输出是:
3
0
0
Run Code Online (Sandbox Code Playgroud)
我想原因可能是第五个像中间变量缓冲区,但我仍然不太确定该语句是如何b[a] = a = 3;工作的.