Adloun

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 passe i à ; puis l'affectation range dans i. L'incrémentation est perdue.
  • j++ + ++j : de gauche à droite, j++ vaut (j passe à ), puis ++j passe j à et vaut ; .
  • m++ * 2 + m : , puis m vaut ; .

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

Exercice suivant et tuteur

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.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →