long m = 24 * 60 * 60 * 1000 * 1000;
Приведенный выше код создает переполнение и не печатает правильный результат.
long m2 = 24L * 60 * 60 * 1000 * 1000;
long m3 = 24 * 60 * 60 * 1000 * 1000L;
Вышеуказанные 2 строки печатают правильный результат.
Мои вопросы -
- Имеет ли значение для компилятора, который я использую,
m2
илиm3
? - Как java начинает умножаться? Слева направо или справа налево? Вычисляет ли 24 * 60 сначала или 1000 * 1000?