Verständnisproblem beim Postinkrement und Postdekrement

waschbaermasch

Neues Mitglied
Hallo!

int b = 2;
b = b++
System.out.println(b);


ist meine "Angabe". Ich weiß, dass das Postinkrement b++ dann b ergibt und b um 1 erhöht, ich habe nur noch nicht verstanden, wann das genau passiert.
Wird b schon am Ende von der zweiten Zeile um 1 erhöht oder geschieht das erst mit "System.out.println(b)"?
Meinem Verständnis nach wäre die Ausgabe nach der dritten Zeile noch b = 2. Stimmt das?

Vielen Dank im Voraus für die Hilfe!
 

Joose

Top Contributor
Probiere es mal mit diesem Snippet aus:

Java:
int a = 1;
int b = 2;
System.out.println(a);
System.out.println(b);
a = a + b++;
System.out.println(a);
System.out.println(b);

a = 1;
b = 2;
System.out.println(a);
System.out.println(b);
b++;
a = a + b;
System.out.println(a);
System.out.println(b);

Java:
int a = 1;
int b = 2;
System.out.println(a);
System.out.println(b);
a = a + ++b;
System.out.println(a);
System.out.println(b);

a = 1;
b = 2;
System.out.println(a);
System.out.println(b);
++b;
a = a + b;
System.out.println(a);
System.out.println(b);

Damit kannst du einfacher kontrollieren ob bzw. wann sich b wirklich erhöht hat.
 
Zuletzt bearbeitet:

BuckRogers

Bekanntes Mitglied
Grundlegendes: der Code rechts vom Zuweisungsoperator '=' wird in Java immer zuerst ausgeführt. Das heißt, dass Wert von int b erst erhöht wird und dann in b gesetzt wird. Das ist prinzipiell so.
 

Neue Themen


Oben