<分区>
谁能告诉我正确的道路
为什么在下面的代码中,开始和结束消息之间有一秒的间隔?
System.out.println("Start:" + LocalTime.now());
for (int i = 0; i > -1; i++) { /*Infinite loop*/ }
System.out.println("End :" + LocalTime.now());
我试图找出 DCE 是否需要时间来处理这种类型的代码,但找不到太多。
标签 java
<分区>
谁能告诉我正确的道路
为什么在下面的代码中,开始和结束消息之间有一秒的间隔?
System.out.println("Start:" + LocalTime.now());
for (int i = 0; i > -1; i++) { /*Infinite loop*/ }
System.out.println("End :" + LocalTime.now());
我试图找出 DCE 是否需要时间来处理这种类型的代码,但找不到太多。
最佳答案
因为您已将“i”定义为 int,范围从 -2,147,483,648 到 2,147,483, 647。一旦达到 -2147483648(您的代码从 0 开始循环并递增 1),条件变为假并且循环中断。
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,因此它脱离了循环。
关于java - 为什么这个循环不是无限的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51909670/