Opérateurs d'incrémentation/décrémentation de préfixe et de suffixe en Java
Comprendre la différence entre les opérateurs d'incrémentation/décrémentation de préfixe et de suffixe est crucial dans la programmation Java. Cet article explore les effets de ces opérateurs dans un exemple pratique.
Question :
Considérez l'extrait de code suivant :
int i = 3; i++; // Postfix increment System.out.println(i); // Prints "4" ++i; // Prefix increment System.out.println(i); // Prints "5" System.out.println(++i); // Prints "6" System.out.println(i++); // Prints "6" System.out.println(i); // Prints "7"
Pourquoi le dernier appel à System.out.println(i) imprime la valeur 7?
Réponse :
Le comportement de ce code est régi par la sémantique des opérateurs d'incrémentation de préfixe et de postfixe :
Incrément de préfixe :
int i = 6; System.out.println(++i); // Prints "6"
i est évalué à 7, car il incrémente i avant d'utiliser sa valeur dans l'expression. Donc, il imprime "6" et incrémente i à 7.
Incrément Postfix :
int i = 6; System.out.println(i++); // Prints "6" (i = 7, prints 6)
i est évalué à 6, car il stocke une copie de i, ajoute 1 à i, et renvoie la valeur d'origine. L'expression imprime "6", mais i est maintenant 7.
Lors du dernier appel, System.out.println(i) imprime la valeur actuelle de i, qui est 7. En effet, l'opérateur d'incrémentation postfixe l'avait précédemment mis à jour vers 7.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!