在Java for循环中,++ i真的比i ++快吗?
在Java中,我通常会进行如下所示的for循环:
for (int i = 0; i < max; i++) { something
}
但是最近一位同事打了这样的字:
for (int i = 0; i < max; ++i) { something
}
他说后者会更快。真的吗?
回答:
不,那不是真的。您可以通过定时每个循环进行大量迭代来衡量性能,但是我可以肯定它们会是相同的。
神话来自C,它++i
被认为比C
更快,i++
因为前者可以通过增加i然后返回来实现。后者可以通过将i的值复制到临时变量,递增i,然后返回临时变量的方式来实现。第一个版本不需要制作临时副本,因此许多人认为它会更快。但是,如果将表达式用作语句,现代C编译器可以优化删除临时副本,以便在实践中没有区别。
以上是 在Java for循环中,++ i真的比i ++快吗? 的全部内容, 来源链接: utcz.com/qa/424618.html