S'il vous plait je suis nouveau en Java et je plante au niveau des Types/Primitives et du Casting
Lorsque j'écris par exemple
long i = 21474836409; par exemple, jai un message d'erreur, c'est normal.
Le document que je lis m'explique que les valeurs littérales entières sont, par défaut, de type int. Ainsi, pour compiler la ligne ci-dessus, Java tente d'abord d'affecter la valeur littérale à un int
avant d'effectuer un casting vers un long. C'est l'affectation de la valeur à un int qui produit l'erreur de compilation, car la valeur littérale est trop grande pour un int. Il aurait fallu écrire :
long i = 21474836409L;
Voici mes questions:
1) Cela signifie qu'il faudra que je maitrise tous les types Java (int, double, float, byte..) avec leur intervalle de valeur ??
par exemple pour savoir que 21474836409 n'est pas un int il faudra que je maitrise intervalle des int, et ceci pour toutes les variables ?
2) C'est ici le vrai problème: Comment faire donc dans mon application qui doit utiliser de gros chiffre et faire de gros calcul ? Si je dois écrire 21474836409 il faudra a tout que j'écrive 21474836409L ? Que faire si j'ai pas besoin du L dans mes résultats ?
Un double ou un float se termine toujours par .0 ou par f et par d (5.5 ; 5.5f ou 5.5d). Comment faire si je ne veux pas de point ou de lettre a la fin de mon résultat.
Merci
Partager