Skip to main content

So verwendest du Inkrement und Dekrement Operatoren in deinen Java Programmen

In diesem Beitrag geht es um Java Operatoren.
Ich möchte dir gern zwei neue Operatoren vorstellen.

Diese nennen sich Inkrement und Dekrement.

Ja was heißt das?
Inkrementieren bedeutet eine schrittweise Erhöhung einer Zahl.
Und dementsprechend bedeutet Dekrementieren: Die schrittweise Verminderung einer Zahl.

Wozu brauchst du das?
Stell dir vor. Du bekommst eine Liste mit Namen oder mit Autos oder etwas Ähnlichen.
Es ist eigentlich egal.
Auf dieser Liste werden sämtliche Namen geführt.
Jetzt möchtest du wissen, wie viele Namen eigentlich auf dieser Liste sind.

Also würdest du ein Java Programm schreiben, welches diese zählt.
Deine Java Anweisungen würden in Etwa so etwas machen:

  1. Fang ganz oben an. Und merke dir die Zahl eins. Denn hier ist der erste Name der Liste.
  2. Falls unter dem ersten Namen noch ein zweiter Name auftaucht, zähle diesen ebenfalls. Und merke dir dann die Zahl zwei.
  3. Das Ganze sollst, du liebes Java Programm machen, bis der letzte Name der Liste gezählt wurde.
  4. Und dann gib mir den Zählwert zurück.

Du brauchst also Java Operatoren, welche bei jedem neuen Durchlauf sich schrittweise erhöhen.
Und diese Operatoren sind dann Inkrement und als Gegenstück das Dekrement.

Und wie funktioniert es nun?

Java bietet dir zwei Operatoren an

Der Inkrement Operator besteht aus zwei Pluszeichen.

Im Code würde dies so aussehen:


public class Inkrement {
 
public static void main(String[] args) {
int i = 2;
i++;//Durch die Inkrementierung wird die Java Variable um eins erhöht
System.out.println(i);
}
}

Klicke auf „Run“ und schau, was passiert.

  • Die Variable wurde angelegt bzw. deklariert.
  • Danach wurde ihr java-intern der Wert zwei zugewiesen.
  • Durch die Inkrementierung wird schließlich der Wert auf drei erhöht.
  • Und dieser wird dann über die println()-Anweisung auf der Konsole ausgegeben.

Die umgekehrte Variante vollzieht Java durch den Dekrement Operator

Es ist fast logisch.
Das Dekrementieren vollzieht du durch zwei Minuszeichen.

Und das wäre der Code dazu.


public class Inkrement {
 
public static void main(String[] args) {
int i = 2;
i++;//Durch die Inkrementierung wird die Java Variable um eins erhöht
System.out.println("Nach der Inkrementierung: " +i);
i--;// Durch das Dekrement wird diese Java Variable um eins verringert
System.out.println("Nach der Dekrementierung: "+i);
}
}

Um das ganze besser zu verdeutlichen, habe ich die Bildschirmausgaben mit Erklärungen verknüpft.
Du siehst auch dies funktioniert.

So…Das war es fast schon.
Dennoch solltest du auf Folgendes achten.

Inkrement und Dekrement funktionieren nur bei echten Java Variablen

Du kannst es nicht mit reinen Zahlen vollziehen.
Du musst immer zuerst richtige Java Variablen anlegen.

Das bedeutet:
Die Anweisung 5++; führt zu einem Fehler.

Schau dir dieses Bild einmal an.

Java Operatoren Inkrement Dekrement

Du siehst, dass Eclipse dir sofort die Fehlermeldung „Invalid argument to operator“ zurück gibt.

Also lege immer zuerst deine Java Variablen an
und erst dann, wendest du den Inkrement und Dekrement Operatoren auf diesen an.

Sowohl der Dekrement- als auch der Inkrement Operator können in Java als präfix oder postfix geführt werden

Was heißt das?

Du kannst i++; als auch ++i; schreiben.

Wo liegt der Unterschied?


public class Inkrement {
 
public static void main(String[] args) {
int i = 2;
int n = 2;
i++;//Java Operatoren Inkrement als postfix
System.out.println("Nach der Inkrementierung postfix: " +i);
++n;// Java Operatoren Inkrement als präfix
System.out.println("Nach der Inkrementierung präfix: " +n);
}
}

Übernimm bitte den Code und klicke auf „Run“.

Was passiert?
Ja das Ergebnis ist beiden Fällen (i und n) gleich…. Und zwar jeweils 3.

Aber warum werden jetzt zwei Möglichkeiten durch Java angeboten?

Ganz einfach.
Im Falle einer präfixen Erhöhung oder Verminderung der Variablen, findet diese sofort statt und wird sofort zurückgeben.
Im zweiten Fall, einer postfixen Erhöhung, wird diese Erhöhung erst später gespeichert.

Deutlich wird das Ganze, wenn du die Anweisung zur Inkrementierung oder Dekrementierung direkt einbindest.

Schau dir noch diesen Code dazu an.
Ich vollziehe die Inkrementierung direkt in der println() Anweisung.


public class Inkrement {
 
public static void main(String[] args) {
int i = 2;
int n = 2;
System.out.println("Nach der Inkrementierung präfix: " + (++i));
System.out.println("Nach der Inkrementierung postfix: "+ (n++));
}
}

Wenn du jetzt auf „Run“ klickst, siehst du den Unterschied.

Im ersten Fall, bei der präfixen Anwendung, wird i =3 zurückgeben.
Und im zweiten Fall, bei der postfixen Inkrementierung, wird n =2 zurückgeben.

Der Unterschied ist jetzt klar, oder? 🙂

Aber wichtig ist noch zu sagen.
N ist auch im zweiten Fall auf drei erhöht wurden.
Innerhalb der println() Anweisung ist n=2.
Aber nachdem diese ausgführt wurde, ist n=3.

Und auch hierzu noch der Code:


public class Inkrement {
 
public static void main(String[] args) {
int i = 2;
int n = 2;
System.out.println("Nach der Inkrementierung präfix: " + (++i));
System.out.println("Nach der Inkrementierung postfix: "+ (n++));
System.out.println(n); //Zum Test für n
}
}

Na, wieso versuchst du die ganze Postfix- und Präfix-Geschichte nicht einmal selbst aus?

Schreibe doch das kleine Programm einmal um.
Und zwar für den Dekrement Operator.
Da funktioniert das Ganze ebenfalls.

Bevor ich es vergesse….
Diese Java Operatoren kannst du für alle Variablentypen anwenden

Bisher habe ich dir dies lediglich bei lokalen Variablen gezeigt.
Du kannst das Ganze natürlich auch für Instanz- und Klassenvariablen anwenden.

Und so könnte dein Java Code dazu aussehen:


public class Inkrement {
	int n = 2; //Instanzvariable der Java Klasse Inkrement
	static int a =2; //Klassenvariable der Klasse Inkrement
	
	public static void main(String[] args) {
		int i = 2; //lokale Variable der main Methode
		Inkrement objektEins = new Inkrement(); //Neues Objekt um die Instanzvariable aufzurufen
		System.out.println("Die lokale Variable hat jetzt den Wert " + (++i)); //Erhöhung der lokalen Variable
		System.out.println("Die Instanzvariable hat jetzt den Wert "+ (++objektEins.n)); //Erhöhung der Instanzvariablen
		System.out.println("Die Klassenvariable hat jetzt den Wert "+(++a));//Erhöhung der Klassenvariablen
	}
}

Zusammenfassung:

  • Für die schrittweise Erhöhung und Verminderung von Variablen, bietet dir Java zwei Operatoren an.
  • Der Inkrement Operator erhöht den Wert der Variablen jeweils um eins.
  • Der Dekrement Operator vermindert den Wert der Variablen um jeweils eins.
  • Beide Operatoren werden oftmals in Schleifen als Zähler eingesetzt.

Na alles klar? 🙂
Wie hat dir der Beitrag gefallen?

Falls du Anregungen und Bemerkungen zu den Java Operatoren hast, dann schreibe mir doch direkt unter diesem Beitrag ein Kommentar.


Ähnliche Beiträge

Java Übung 18: Berechne die Fakultät

Java Übung Fakultät

In dieser Java Übung geht es um die Fakultät aufeinander folgender Zahlen. Für alle, bei denen der Mathe-Unterricht genauso lange her ist, wie bei mir: 🙂 Die Fakultät ist das Produkt aufeinander folgender natürlicher Zahlen. Zum Beispiel: Die Fakultät von 2 ist: 1*2=2 Die Fakultät von 5 ist: 1*2*3*4*5=120 So – ich hoffe, dass ich […]

Java Übung 11 – Java Objekte in Java Methoden übergeben

Java Übung Java Methoden Objekte

In dieser Java Übung möchte ich dir zeigen, dass du auch in Klassenmethoden auf Objekte und deren Instanzvariablen zugreifen kannst. Schau dir dazu einmal diesen Java Code an. public class Umwandlung { private int x; public int getX() { // getter Methode return x; } public void setX(int x) { // setter Methode this.x = […]

Über das kurze Leben einer lokalen Variablen

Java Variable lokal

Lass uns über die Lebensdauer einer lokalen Variablen sprechen. Warum ausgerechnet die Lebensdauer? Alle Java Variablen, unterscheiden sich in folgenden Punkten: wo diese deklariert werden können, wie du diese aufrufen kannst, welchen Bereich diese abdecken, und Ihre Lebensdauer Und eine lokale Java Variable hat eine relativ kurze Lebensdauer. Schauen wir uns zuerst Klassen- und Instanzvariablen […]

So kannst du Java Konstruktoren anlegen und überladen

Java Konstruktoren

Der Name sagt es schon. Java Konstruktoren konstruieren oder bauen Java Objekte. Und diese Objekte baut der Konstruktor auf Vorlage der entsprechenden Java Klasse. In diesem Beitrag zeige ich dir natürlich verschiedene Ansätze wie du den Konstruktor einsetzt. Ich zeige dir dies Schritt für Schritt. Dabei zeige ich dir auch verschiedene Dinge, welche nicht funktionieren. […]

Java lernen – 10 nützliche Tipps für Java Anfänger

Java Lernen Anfänger

Wenn du die Programmiersprache Java lernen möchtest, bist du hier prinzipiell erst einmal richtig. Und wenn du es wirklich ernst meinst und in die Java Programmierung einsteigen möchtest, solltest du auch meinen kostenlosen Java Kurs beanspruchen. Wenn du dabei bist, bekommst du: Eine Lektion pro Woche zu den Basics. Hier geht es um die ersten […]

Der wichtige Unterschied zwischen Java Methoden

Java Methoden Unterschied

Jetzt machen wir Nägel mit Köpfen. Dieses Sprichwort stammt aus den Anfängen des Industriezeitalters. Denn früher wurden Nägel nicht industriell, sondern per Hand gefertigt. Und da kam es schon einmal vor, dass versehentlich Nägel ohne Kopf produziert wurden. Was blieb ist das Sprichwort „Nägel mit Köpfen“ Und dieses steht sinngemäß für eine schnelle, qualitativ hochwertige […]

Die mathematischen Grundlagen des Dezimalsystems für Java Programmierer

Java Dezimalsystem Mathematik Programmierer

Bei der Java Programmierung benötigst du Kenntnisse über das Dezimalsystem. Allein schon für die technische Umsetzung beim Runden einer Zahl. Oder du möchtest den Kehrwert bzw. den Umkehrwert einer Zahl im Programm bestimmen lassen. Aber auch für das Herausfinden des Stellenwertes – also wieviel Stellen hat eine Zahl – benötigst du das Grundwissen des Dezimalsystems. […]

Java Konsolenausgaben mit formatierten Zahlen

Java Konsolenausgaben Zahlen

Java Konsolenausgaben erzeugst du mit der System.out.println()-Anweisung. Dies ist relativ einfach. Aber es ist mitunter nicht ganz praktisch. Und zwar immer dann, wenn Zahlen im Spiel sind. Die Zahlen welche dann auf deiner Java Konsole erscheinen, sind unformatiert. Sie haben zu viele Kommastellen. Oder für eine bessere Darstellung benötigst du den Tausenderpunkt. Vielleicht möchtest du […]

Nutze die richtigen Methoden zum Java Lernen

Java lernen Methoden

Ich lernte die Java Programmierung auf die klassische Art. Ich kaufte mir das erste Buch und los ging es. „Jetzt wirst du Java lernen“ – sagte ich zu mir. Ich war relativ schnell ziemlich frustriert, denn irgendwie fehlten mir ein paar Zusammenhänge. Kennst du das? Du hast ein Wissensfetzen und noch einen. Aber das Wichtigste. […]

Java Vererbung – Die Hierarchien richtig planen

Java Vererbung Hierarchien

Java Vererbung hat nichts mit Biologie zu tun. Die Genetik besagt, dass bestimmte Merkmalsausprägungen von den Eltern auf die Kinder übergehen. Solche Merkmalsausprägungen sind: die Hautfarbe die Haarfarbe die spezifische Größe und weitere körperliche Merkmale. Und in Java – was ist da Vererbung? Lass es uns herausfinden. Was erwartet dich in diesem Beitrag? Zuerst schauen […]

8 Java Datentypen, die du kennen solltest

Java Datentypen

Java Datentypen Ich gebe zu, ich hasse dieses Thema. Denn es ist eigentlich nichts weiter als graue Theorie. Dennoch müssen wir dieses Thema behandeln. Um schnell in das Thema zu kommen, stelle ich dir eine Übersicht aller primitiven Datentypen zur Verfügung. Wieso primitive? Es gibt außer den primitiven Datentypen, noch Referenztypen. Und diese Referenztypen sind […]