почему моя математика неверна в Java?

В следующем коде я не вижу различия между T1 и T3. Конечно, мой калькулятор говорит, что это не так.

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);
    }
}

Так почему я получаю вывод:

-1702967296
86400000
2592000000

Это не просто System.out.println в этом примере программы. Когда у меня есть T1 в затмении и наведите курсор мыши на переменную, я получаю блеск, показывающий те же значения.

java version "1.6.0_33" OSX

Ответы на вопрос(3)

Ваш ответ на вопрос