快速基本问题,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 次 |
最近记录: |