System.out.println(Integer.MAX_VALUE + 1 == Integer.MIN_VALUE);
is true.
I understand that integer in Java is 32 bit and can\'t go above 23
The same reason why the date changes when you cross the international date line: there's a discontinuity there. It's built into the nature of binary addition.