Почему двойные переменные экземпляра в java имеют нижний регистр d, прикрепленный к ним? Нужно ли это иметь?
Пример:
double area = 0d;
double avgDailyTemp = 26d;
и т.д...
По умолчанию числовой литерал является целым числом. Если вы попытаетесь передать число, равное десяти миллиардам, в Java double, оно будет ошибочно, поскольку оно выходит за пределы целого числа. Задание нижнего регистра d
явно определяет его как двойной литерал.
double area = 260000000000.;
double a = 10000000000; // ERROR! Integer number too large
double b = 10000000000d; // OK!
Это не переменная, которая требует d
, а объявленное постоянное значение. Это "подсказка" для компилятора типа данных.
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
Без d
числа 0 и 26 являются значениями int
.
long
но также предоставляет информацию оdouble