Я видел некоторые из этих символов, но я не могу найти с ним ничего странного,
double d = 5D; float f = 3.0F;
Что означают D и F позади 5?
Я видел некоторые из этих символов, но я не могу найти с ним ничего странного,
double d = 5D; float f = 3.0F;
Что означают D и F позади 5?
означает, что эти числа удваиваются и плавают соответственно. Предположим, что у вас
void foo(int x);
void foo(float x);
void foo(double x);
а затем вы вызываете
foo(5)
компилятор может быть заблокирован. Вот почему вы можете сказать 5, 5f или 5.0, чтобы указать тип.
D означает двойное
F для float
вы можете прочитать основные примитивные типы java здесь
http://download.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
Я хотел бы указать, что запись
5.1D или 5.1: если вы не укажете букву типа для номера запятой, то по умолчанию она будет двойной
5: без периода, по умолчанию это int
Они являются спецификаторами формата для float и double literals. Когда вы пишете 1.0, это двусмысленно относительно того, хотите ли вы, чтобы литерал был плавающим или двойным. Написав 1.0f, вы говорите Java, что вы предполагаете, что литерал является float, а при использовании 1.0d указано, что он должен быть двойным. Там также L, который представляет длинный (например, 1L является long 1, а не int 1)
D означает double, а F обозначает float. Иногда вам нужно будет добавить эти модификаторы, поскольку в этом случае 5 считается целочисленным, а 3.0 - двойным.
Он определяет тип данных для констант 5 и 3.0.
Как уже упоминалось, это определения типов, однако вы вряд ли увидите, что я или d упомянуты, поскольку они являются значениями по умолчанию.
float myfloat = 0.5;
будет ошибкой, так как 0.5 по умолчанию является двойным, и вы не можете отключить автобокс с двойного на float (64 → 32 бита), но
double mydouble = 0.5;
не будет проблем