同时返回数组索引和增量

2022-09-03 00:24:49

Java、Kotlin 和 Android 如何处理在给定索引处返回 Array 值,同时递增索引值?

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

result = someArray[index++];

哪个索引将传递给结果?它将首先递增,然后将其传递给 ,还是将原始值传递给 ,然后递增?indexsomeArray[1]indexsomeArray[0]index


答案 1

请参见:Java 文档、赋值、算术和一元运算符

代码结果++;和 ++结果;两者都以结果递增 1 而告终。唯一的区别是前缀版本 (++result) 的计算结果为递增的值,而后缀版本 (result++) 的计算结果为原始值。

所以你会得到.someArray[0]


答案 2

index++返回,然后递增 1。因此,它将执行,然后设置为 1。indexresult = someArray[0]index

相反,将执行增量,然后传递增量值。因此,如果要在上面的代码中设置为,则可以使用 .++indexresultsomeArray[1]++index

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

index++;
result = someArray[index];

推荐