我目前正在在线学习Java,对以下代码以及数组中的元素之一要评估的内容感到困惑:
int[] a = new int[]{9, 8, 3, 1, 5, 4};
for (int i = 0; i < a.length; i++) {
if (a[i] % 2 == 0) {
a[i] += 1;
} else if (a[i] < a.length) {
a[i] += a[a[i]];
}
}
Run Code Online (Sandbox Code Playgroud)
我正在查看a[3]此代码的值,并且在调试代码时,我的IDE显示a[a[i]]正在评估到9,这让我有些困惑。
我以为先a[3]等于1后a[1]等于8,但是事实并非如此。谁能提供清晰的信息,因为JetBrains学院的课程没有提到这一点。