Maison > Java > javaDidacticiel > Préfixe Java vs incrémentation/décrémentation Postfix : pourquoi « i » donne-t-il 7 dans cet exemple ?

Préfixe Java vs incrémentation/décrémentation Postfix : pourquoi « i » donne-t-il 7 dans cet exemple ?

Patricia Arquette
Libérer: 2024-12-17 02:41:24
original
280 Les gens l'ont consulté

Java Prefix vs. Postfix Increment/Decrement: Why Does `i  ` Result in 7 in This Example?

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"
Copier après la connexion

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 ( ) : Incrémente l'opérande avant qu'il ne soit utilisé dans un expression.
  • Incrément Postfix ( ) : Incrémente l'opérande après qu'il a été utilisé dans une expression.

Incrément de préfixe :

int i = 6;
System.out.println(++i); // Prints "6"
Copier après la connexion

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)
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal