long

long — 64-битный тип со знаком, удобный в тех ситуациях, когда длина типа int недостаточна для хранения требуемого значения. Область допустимых значений типа long достаточно велика. Это делает его удобным для работы с большими целыми числами.

Например, ниже приведен пример программы, которая вычисляет количество миль, проходимых лучом света за указанное число дней.

// Вычисление расстояния, проходимого светом, //с применением переменных типа long.
class Light {
public static void main(String args[]) {
int lightspeed;
long days;
long seconds;
long distance;
// приблизительная скорость света в милях за секунду
lightspeed = 186000;
days = 1000; // указание количества дней
seconds = days * 24 * 60 * 60; // преобразование в секунды
distance = lightspeed * seconds; // вычисление расстояния
System.out.print("За " + days);
System.out.print(" дней свет пройдет около ") ;
System.out.println(distance + " миль.");
)
}

Эта программа генерирует следующий вывод:

За 1000 дней свет пройдет около 16070400000000 миль.

Очевидно, что результат не поместился бы в переменной типа int.