4 java
我用i做了一个循环,因为它是计数器变量.
在那个循环里面,我正在比较一个数组的单元格.
我想知道array [i ++](或array [++ i])与array [i + 1]之间有什么区别.
因为i ++(或++ i)不能按照想要的方式工作,而i + 1(一个让我疯狂的小包).
提前致谢.
Jon*_*eet 15
array[i++]将评估array[i]和增加i.array[++i]将递增i和再评价array[i](所以它给你的下一个元素)array[i+1] 将给你下一个元素而不增加 i我个人试着避免使用这样的副作用 - 这意味着当我稍后阅读代码时,我总是要放慢脚步以确保我按正确的顺序获得所有内容.
如果你在一个循环的增加是已经i,然后递增i的数组访问表达式以及意味着每个循环迭代将增加i两倍.
i++,++i和i+1,都是不同的表达(或操作).您应该查阅您最喜欢的Java参考,以了解其中的差异.
(简而言之:i++增量i但返回原始值,++i增量i并返回新值,i+1不增加i但返回值i+1.)
至于为什么你的循环不能按照你期望的方式工作:如果没有实际看到你的代码就无法回答 - 这是非常合乎逻辑的.我的假设是您使用了错误的表达式和/或i每个循环增加了两次.