En informatique, l'incrémentation est l'opération qui consiste à ajouter une valeur entière fixée à un compteur. L'opération inverse, la décrémentation, consiste à retirer une valeur entière au compteur.
Cette opération est très courante dans les programmes informatiques, notamment dans les boucles d'itération, si bien que la plupart des langages de programmation implémentent des opérateurs d'incrémentation et de décrémentation. Ainsi, dans un grand nombre de langages, la syntaxe suivante permet d'ajouter ou de retirer une unité à la variable x
:
x++
(resp. x--
) en forme préfixée, qui équivaut à x = x + 1
(resp. x = x - 1
);++x
(resp. --x
) en forme suffixée, qui équivaut à x = x + 1
(resp. x = x - 1
).Si la valeur de x, après l'évaluation de l'instruction x++
ou ++x
est toujours le successeur de x, il y a néanmoins une subtilité concernant la valeur de retour de l'instruction, selon la forme utilisée ; L'une est la valeur avant incrémentation, l'autre est la valeur après incrémentation :
y = x++
équivaut à y = x ; x = x + 1
y = ++x
équivaut à x = 1 + x ; y = x
D'autres opérateurs permettent d'incrémenter ou de décrémenter par un nombre différent de 1. Par exemple, x += 3.5
ajoute 3.5
à la valeur de x
.
Voici un exemple, écrit en Java, illustrant le fonctionnement des opérateurs d'incrémentation et de décrémentation
class Exemple { public static void main(String[] args){ int i = 0; i++; System.out.println(i); // "1" ++i; System.out.println(i); // "2" System.out.println(++i); // "3" System.out.println(i++); // "3" System.out.println(i); // "4" System.out.println(i--); // "4" System.out.println(--i); // "2" System.out.println(i); // "2" i -= 2; System.out.println(i); // "0" } }