++i und i++

Status
Nicht offen für weitere Antworten.
F

Filip

Gast
Hi,

Was ist der Unterschied zwischen ++i und i++ ?

Gruss
Filip
 

liz

Mitglied
i++ hat quasi erst nach dem aufruf den höheren wert und ++i schon beim aufruf den neuen wert

int i = 0;

bei System.out.println(i++); <-wäre 0

bei System.out.println(++i) <- wäre 1
 

Mag1c

Top Contributor
Hi,

Code:
int i=1;
System.out.println(i);  // i ist 1
System.out.println(++i);  // Erhöhung von i VOR dessen Verwendung; also Ausgabe 2
System.out.println(i++);  // Erhöhung von i NACH dessen Verwendung; also Ausgabe: 2
System.out.println(i);  // i ist jetzt 3

Gruß
Mag1c
 

liz

Mitglied
ich meinte in meinem post das man entweder die eine zeile nimmt oder die andere, nicht beide auf einmal im programm. war evt etwas mißverständlich geschrieben. es müssten also beide stimmen.
 

liz

Mitglied
? versteh ich jetzt nicht ganz.

probier mal den code von mag1c aus aus, dann siehste was passiert, bzw. es steht ja schon in den kommentaren.
 

Mag1c

Top Contributor
Hi,

die Kommentare in meinem Code beschreiben, was passiert, wenn man die Zeilen nacheinander ausführt.
Die System.out's von liz beziehen sich jeweils darauf, daß i=0 ist. Letztendlich ist es aber das gleiche. Es sind beide Beschreibungen korrekt.

Gruß
Mag1c
 

Noar

Bekanntes Mitglied
Nein, sie sagen beide dasselbe.
Nur hat Mag1c das ganze etwas "schöner" dargestellt.

Aber die Aussage ist bei beiden gleich. Am besten du probierts es einfach mal aus.

Gruß Noar
 
F

Filip

Gast
Ich habe es nun verstanden. Ich habe das Beispiel von Mag1c als jeweils eine Zeile gesehen....

Danke
Filip
 

Dukel

Top Contributor
Oder bei dem Code von Liz ein "int i = 0;" zwischen die 2 println's einfügen. Dann kann mans wieder zusammenlesen.
 

thE_29

Top Contributor
Mag1c verwirrt einen deswegen weil er die 2 Zeilen umgetauscht hat ;)

Liz, hat zuerst i++ und dann ++i erklärt!!

Magic aber umgekehrt! Liz Bsp mit Magics Aussagen:

Code:
int i=1;
System.out.println(i);  // i ist 1
System.out.println(i++);  // Erhöhung von i NACH dessen Verwendung; also Ausgabe 1 -> nach der Ausgabe, ist i aber 2!!
System.out.println(++i);  // Erhöhung von i VOR dessen Verwendung; also Ausgabe: 3
System.out.println(i);  // i ist jetzt 3
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben