Hey Leute und zwar brauche ich endlich mal eine Erklärung ....
Die Regel gibt es dazu:
Steht der Inkrement-Operator vor der Variablen, wird die Variable erhöht und der neue um eins erhöhte Wert als Ergebnis zurückgegeben. Steht der Inkrement-Operator hinter der Variablen, wird die Variable erhöht und der ursprüngliche noch nicht um eins erhöhte Wert als Ergebnis zurückgegeben.
An sich ok, aber ich mache immer wieder Fehler, wenns dann in der Praxis dran kommt.
Ich hab hier drei kleine Codebeispiele dafür:
Hier heißt es doch, dass in der zweiten Zeile a um eins erhöht wird, aber noch nicht ausgegeben wird. Wie wird dann in der dritten Zeile gerechnet? Ist doch im Prinzip das Gleiche wie die zweite, oder? a++ bedeutet doch: a=a+1, oder?
Hier heißt es doch, dass in der zweiten Zeile der Wert um eins erhöht wird und auch ausgegeben wird, also sind wir in der zweiten Zeile schon bei dem Wert 11, aber in der dritten Zeile wird es zwar nochmal um eins erhöht, aber doch eigentlich nicht ausgegeben?
Hier heißt es doch, dass b in der zweiten Zeile um eins erhöht wird und das auch ausgegeben wird (besser gesagt gespeichert wird bis zur Ausgabe), in der dritten Zeile wird c um eins erhöht, aber es wird noch nicht ausgegeben.
Es tut mir Leid wenn ich jetzt hier wahrscheinlich viele verwirre, aber ich will das jetzt endlich mal kapieren und wenn ich rumgoogle, dann find ich immer nur die Regeln, aber die weiß ich ja, kann sie nur nicht umsetzen .
Würde mich freuen wenn mir bald jemand antworten würde.......
Die Regel gibt es dazu:
Steht der Inkrement-Operator vor der Variablen, wird die Variable erhöht und der neue um eins erhöhte Wert als Ergebnis zurückgegeben. Steht der Inkrement-Operator hinter der Variablen, wird die Variable erhöht und der ursprüngliche noch nicht um eins erhöhte Wert als Ergebnis zurückgegeben.
An sich ok, aber ich mache immer wieder Fehler, wenns dann in der Praxis dran kommt.
Ich hab hier drei kleine Codebeispiele dafür:
Code:
int a=10;
a=a++;
a++;
System.out.println("a= "+a);
//---------->a=11 kommt raus
Hier heißt es doch, dass in der zweiten Zeile a um eins erhöht wird, aber noch nicht ausgegeben wird. Wie wird dann in der dritten Zeile gerechnet? Ist doch im Prinzip das Gleiche wie die zweite, oder? a++ bedeutet doch: a=a+1, oder?
Code:
int a =10;
a=++a;
a++;
System.out.println("a= "+a);
//--------->a=12 kommt raus
Hier heißt es doch, dass in der zweiten Zeile der Wert um eins erhöht wird und auch ausgegeben wird, also sind wir in der zweiten Zeile schon bei dem Wert 11, aber in der dritten Zeile wird es zwar nochmal um eins erhöht, aber doch eigentlich nicht ausgegeben?
Code:
int a =1, b=0, c=0;
b=++a;
c=a++;
System.out.println("a= "+a+"\nb= "+b+"\nc= "+c);
//--------->a=3, b=2, c=2 kommt raus
Hier heißt es doch, dass b in der zweiten Zeile um eins erhöht wird und das auch ausgegeben wird (besser gesagt gespeichert wird bis zur Ausgabe), in der dritten Zeile wird c um eins erhöht, aber es wird noch nicht ausgegeben.
Es tut mir Leid wenn ich jetzt hier wahrscheinlich viele verwirre, aber ich will das jetzt endlich mal kapieren und wenn ich rumgoogle, dann find ich immer nur die Regeln, aber die weiß ich ja, kann sie nur nicht umsetzen .
Würde mich freuen wenn mir bald jemand antworten würde.......