Il ne s'agit pas de style en soi. Lorsque vous écrivez double var = 200;
, 200
est un integer literal qui est ensuite converti en double via widening primitive conversion.
Il est beaucoup mieux d'être précis - si vous utilisez une double constante, écrire comme double:
double d = 200.0;
double another = .01;
double exp = 1E3;
Toutes ci-dessus sont floating point literals. Être spécifique est particulièrement important dans votre deuxième exemple:
var = 50;
double d = var/250;
J'ai omis le type de var
sur le but. On ne sait pas ce que d
contiendra en conséquence - il pourrait être soit 0.2
ou 0.0
(si var
étaient des nombres entiers). D'un autre côté, si vous écrivez double d = var/250.0
, le résultat sera toujours 0.2
.
Je ne suis pas sûr, mais je devinerais * qu'avec une instruction comme 'double var = 200;' le compilateur est assez intelligent pour traiter cela comme 'double var = 200.0;' Cela dit, votre point sur l'entier la division est la raison pour laquelle vous devriez toujours inclure le ".0". – Kip
J'utilise IntelliJ et il vous avertit lorsque vous essayez d'utiliser double var = 200 ;. Je pense que déclarer le littéral dans le bon type est toujours une bonne idée. –
@ ChssPly76. Le JLS est entièrement clair sur ce que les expressions signifient. L'incertitude est dans l'esprit de quelqu'un qui lit le code, et un bon programmeur utilisera un style qui minimise l'incertitude. Ceci est DÉFINITIVEMENT un problème de style - choisir un style qui minimise la possibilité que les gens se méprennent sur ce que fait le code. –