Incrémentation

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
image illustrant l’informatique
Cet article est une ébauche concernant l’informatique.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

En informatique, l'incrémentation est l'opération qui consiste à ajouter 1 (et par exension une valeur entière fixée) à un compteur. L'opération inverse, la décrémentation, consiste à retirer 1 (ou 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[réf. souhaitée] 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)[1];
  • ++x (resp. --x) en forme suffixée, qui équivaut à x = x + 1 (resp. x = x - 1)[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.

Exemple[modifier | modifier le code]

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"
    }
}

Utilisation dans les noms de logiciels[modifier | modifier le code]

  • Le langage C++ tient son nom de l'opérateur d'incrémentation ++ présent dans le langage C dont il est issu.
  • De même, l'éditeur de texte Notepad++ se pose comme une version améliorée du bloc-notes (en anglais : Notepad) de Microsoft.

Voir aussi[modifier | modifier le code]

Notes et références[modifier | modifier le code]

  1. a et b « = » désigne ici l'opérateur d'affectation. Cet opérateur varie suivant les langages : on trouve également « := » ou encore « <- »