programmation Java (école d'ingénieur) · Chapitre 2 · Exercice de TD
Incrémentations piégées
Types, variables et expressions · niveau 3 (difficile)
Énoncé
Prévoir ce qu'affiche ce fragment, puis vérifier. Qu'en conclure ?
int i = 5;
i = i++;
System.out.println(i);
int j = 5;
int k = j++ + ++j;
System.out.println(j + " " + k);
int m = 5;
m = m++ * 2 + m;
System.out.println(m);Corrigé
5
7 12
16
i = i++:i++vaut (l'ancienne valeur) et passeià ; puis l'affectation range dansi. L'incrémentation est perdue.j++ + ++j: de gauche à droite,j++vaut (jpasse à ), puis++jpassejà et vaut ; .m++ * 2 + m: , puismvaut ; .
Ces résultats sont bien définis en Java (l'ordre d'évaluation est de gauche à droite), mais le code est illisible. Conclusion : on n'utilise ++ que seul, comme instruction.
100 % gratuit
La suite du chapitre est sur Adloun
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le podcast et la vidéo du chapitre : 2 minutes d'écoute sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours, le premier QCM et 2 minutes de podcast et de vidéo. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.