package loopPuzzles;
public class IntergerMaxPuzzle {
public static final int END = Integer.MAX_VALUE;
public static final int START = END - 100;
public static void main(String[] args) {
int count = 0;
/* for (int i = START; i <= END; i++) */
// 这里有一个小知识点:循环会在循环索引(i)小于或等于Integer.MAX_VALUE时持续运行,但是所有的int变量都是小于或等于Integer.MAX_VALUE的。
//因为它被定义为所有int数值中的最大值。当i达到Integer.MAX_VALUE,并且再次被执行增量操作时,它就有绕回到了Integer.MIN_VALUE。
//count++;
System.out.println(count);
System.out.println(END + 1);//输出结果是:-2147483648,可以看到int值得最大值加1后,回到了int值得最小值。这就是上面的for循环为么是一个无限循环的原因。
for(long i = START; i<=END; i++) {
count ++;
}
System.out.println(count);
}
}