我目前正在学习用 Java 编程,我有一个关于标题中列出的一元增量器的问题,我无法在其他地方找到。我刚开始玩它们,并不能完全决定在 for 循环中使用哪一个,因为似乎前缀(递增然后评估)和后缀(评估然后递增)之间的行为差异不适用于 for陈述。所以我两种都试了,都奏效了。这让我很担心,因为我想以它们应该被使用的方式使用它们。
所以我的问题是,它们在增加 for 循环时是否真的可以互换,或者是否有一些模糊的问题我会在使用一个副的过程中遇到另一个问题?
我决定给它们计时(如下),并且++x
肯定比 运行得快x++
,但我不知道为什么。任何人都可以扩展吗?
谢谢!
public class PlusPlus
{
public static void main(String[] args)
{
long startTime1, startTime2, endTime1, endTime2;
final double COUNT = 100000000;
//times x++ incrementing
startTime1 = System.currentTimeMillis();
for(int x = 0; x < COUNT; x++);
endTime1 = System.currentTimeMillis();
System.out.println("x++ loop: " + (endTime1 - startTime1) + " milliseconds");
//times ++x incrementing
startTime2 = System.currentTimeMillis();
for(int x = 0; x < COUNT; ++x);
endTime2 = System.currentTimeMillis();
System.out.println("++x loop: " + (endTime2 - startTime2) + " milliseconds");
}
}