数组索引和同一行的增量

god*_*ode 9 java

快速基本问题,android/java如何处理以下代码行:

int[] someArray = new int[5];
int index = 0;
int result;

result = someArray[index++];
Run Code Online (Sandbox Code Playgroud)

哪个索引会被传递给结果?它会先增加索引然后传递给someArray [1]吗?或者它会将index的原始值传递给someArray [0],然后递增索引?

and*_*kus 11

来自http://download.oracle.com/javase/tutorial/java/nutsandbolts/op1.html:

代码结果++; 和++结果; 两个结果都会以一个增加结果.唯一的区别是前缀版本(++结果)评估为增量值,而后缀版本(结果++)评估为原始值.

所以你会得到someArray[0].


Gra*_*ity 5

index++返回index,然后递增 1。所以它会做result = someArray[0],然后设置index为 1。

相反,++index会做增量然后传递增量值。所以如果你想在上面的代码中result设置为someArray[1],你可以使用++index.

正如其他人所说,请不要使用这种语法。相反,请写

index++;
result = someArray[index];
Run Code Online (Sandbox Code Playgroud)