快速基本问题,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].
index++返回index,然后递增 1。所以它会做result = someArray[0],然后设置index为 1。
相反,++index会做增量然后传递增量值。所以如果你想在上面的代码中result设置为someArray[1],你可以使用++index.
正如其他人所说,请不要使用这种语法。相反,请写
index++;
result = someArray[index];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17470 次 |
| 最近记录: |