有人可以指引我走正确的路吗
为什么在以下代码中,开始和结束msg之间会有一秒钟的间隔?
System.out.println("Start:" + LocalTime.now());
for (int i = 0; i > -1; i++) { /*Infinite loop*/ }
System.out.println("End :" + LocalTime.now());
我试图找出DCE是否需要花费时间来处理这种类型的代码,但找不到太多。
答案 0 :(得分:6)
由于您已将int定义为从-2,147,483,648到2,147,483,647的int。一旦它达到-2147483648(您的代码循环从0开始并以1为增量),该条件将变为false并且循环将中断。
int i;
System.out.println("Start: " + LocalTime.now());
for (i = 0; i > -1; i++) { /*Infinite loop*/ }
System.out.println("End :" + LocalTime.now());
System.out.println("i :" + i);
尝试上面的方法,您将看到最后的值为-2147483648,因此它退出循环。