Inkrementieren
Kurz: Den Wert einer Variable um einen festen Schritt (meist 1) erhöhen — in den meisten Sprachen per ++-Operator oder += 1.
Genauer: Inkrementieren taucht am häufigsten in Schleifen auf, um eine Zählvariable nach jedem Durchlauf zu erhöhen (z. B. i++ in einer For-Schleife). Das Gegenstück ist Dekrementieren (--, Wert verringern). In vielen Sprachen gibt es Prä- und Post-Inkrement (++i vs. i++), die sich im Rückgabewert des Ausdrucks unterscheiden, auch wenn der Endwert der Variable gleich ist.
Im Detail
Der Unterschied zwischen Prä- und Post-Inkrement fällt nur auf, wenn der Ausdruck selbst einen Wert zurückgibt, der weiterverwendet wird:
int i = 5;
int a = i++; // Post-Inkrement: a wird 5 (alter Wert), i danach 6
int b = ++i; // Prä-Inkrement: i wird zuerst 7, dann b = 7Bei i++ (“Post”) wird der aktuelle Wert von i zunächst zurückgegeben und ERST DANACH erhöht, bei ++i (“Prä”) passiert es umgekehrt — wird der Rückgabewert gar nicht verwendet (wie im klassischen Schleifenkopf for (int i = 0; i < 10; i++)), ist der Unterschied irrelevant und beide Schreibweisen verhalten sich identisch.
Ein klassischer Anfängerfehler ist die Verwechslung von i++ mit i = i + 1 innerhalb komplexerer Ausdrücke, wo der Rückgabewert tatsächlich eine Rolle spielt (z. B. array[i++] = wert — hier wird erst auf Index i zugegriffen und danach erhöht). In funktionalen Programmierstilen wird Inkrementieren bewusst vermieden, weil es den Zustand einer Variable “mutiert” (verändert) statt einen neuen Wert zu erzeugen — dort wird stattdessen meist mit unveränderlichen (immutable) Werten und Funktionen wie map/reduce gearbeitet.
Inkrementieren in verschiedenen Sprachen
Nicht jede Sprache kennt ++/-- als eigene Operatoren: Python etwa verzichtet bewusst darauf (aus Gründen der Eindeutigkeit — die Sprachdesigner wollten die Verwechslungsgefahr zwischen Prä- und Post-Inkrement komplett vermeiden) und erfordert stattdessen die explizitere Schreibweise i += 1. Diese Design-Entscheidung spiegelt Pythons generelle Philosophie wider, möglichst eindeutigen, gut lesbaren Code gegenüber kompakteren, aber potenziell verwirrenden Kurzschreibweisen zu bevorzugen.
Siehe auch: For-Schleife, Schleifen