Double, float et long déclaration

Je voudrais savoir pourquoi en Java, il donne une erreur de compilation en effectuant les opérations suivantes:

double d34324.34; //error
float f3342.34; //error

D'autre part:

long L32423424; //works fine
double D32432424; //works fine

Donc, fondamentalement, je voudrais savoir pourquoi il y a une limitation de l'utilisation de la syntaxe que pour les valeurs à virgule flottante.

Je suis conscient que si l'identificateur de lettre (D,D,F,f) est mis à la fin du numéro, il fonctionne, mais je voudrais savoir pourquoi les autres le formulaire ne fonctionne pas avec floating points.
Juste de la curiosité, je sais que si je tape 3443.43434 f il fonctionne.

  • Parce que la langue est définie.
  • double d = 1.3; float f = 1.3f;
  • Parce qu'il traite de "L32423424" comme le NOM de la variable, pas sa valeur.
InformationsquelleAutor Rollerball | 2013-02-18