J'ai vu certains de ces symboles, mais je ne trouve rien d'étrange avec cela,
double d = 5D;
float f = 3.0F;
Que signifie exactement D et F derrière 5?
Signifie que ces nombres sont respectivement doubles et flottants. Suppose que tu as
void foo(int x);
void foo(float x);
void foo(double x);
et ensuite vous appelez
foo(5)
le compilateur peut être dérouté. C'est pourquoi vous pouvez indiquer 5
, 5f
ou 5.0
pour spécifier le type.
D signifie double
F pour float
vous pouvez lire sur les types primitifs de base de Java ici
http://download.Oracle.com/javase/tutorial/Java/nutsandbolts/datatypes.html
Je tiens à souligner que l'écriture
5.1D ou 5.1: si vous ne spécifiez pas de lettre type pour un numéro de virgule, le nombre par défaut est double
5: sans le point, par défaut c'est un int
Ce sont des spécificateurs de format pour les littéraux flottants et doubles. Lorsque vous écrivez 1.0
, il est ambigu de savoir si vous voulez que le littéral soit un float ou un double. En écrivant 1.0f
, vous indiquez à Java que vous voulez que le littéral soit un float, alors que 1.0d
spécifie qu'il doit s'agir d'un double. Il y a aussi L
, qui représente long (par exemple, 1L
est un long
1, par opposition à un int
1)
D signifie double et F signifie float. Vous aurez parfois besoin d'ajouter ces modificateurs, car 5 est considéré comme un entier dans ce cas et 3.0 est un double.
Il définit le type de données pour les constantes 5 et 3.0.
Comme d'autres l'ont mentionné, il s'agit des définitions de type. Toutefois, vous verrez moins probablement que i ou d soient mentionnées car il s'agit des valeurs par défaut.
float myfloat = 0.5;
sera une erreur car 0.5 est un double par défaut et vous ne pouvez pas passer de double à float (64 -> 32 bits) mais
double mydouble = 0.5;
n'aura aucun problème