title: Why does the loop iterate beyond Integer.MAX_VALUE?
body: <p>Can someone explain why this code is an infinite loop on Java 7,8? The loop should stop when <code>i = Integer.MAX_VALUE + 1</code> but it seems to deny the limit. Why does this happen? </p>
  
  <pre><code>public static void main(String[] args) {
      for (int i = Integer.MAX_VALUE - 100; i &lt;= Integer.MAX_VALUE; i++);
  }
  </code></pre>