Warum ist meine Mathematik in Java falsch?
Im folgenden Code sehe ich keine Unterschiede zwischen T1 und T3. Bestimmt sagt mein Taschenrechner, dass dies nicht der Fall ist.
public class longTest {
public static final long T1 = 24 * 60 * 60 * 1000 * 30;
public static final long T2 = 24 * 60 * 60 * 1000;
public static final long T3 = T2 * 30;
public static void main(String[] args) {
System.out.println(T1);
System.out.println(T2);
System.out.println(T3);
}
}
Warum erhalte ich die Ausgabe von:
-1702967296
86400000
2592000000
Es ist nicht nur System.out.println in diesem Beispielprogramm. Wenn ich T1 in Eclipse habe und mit der Maus über die Variable fahre, erhalte ich einen Glanz, der die gleichen Werte anzeigt.
Java-Version "1.6.0_33" OSX