2017-07-12 6 views
-3

Ich habe durch einige Java-Rätsel gegangen und diese gefunden. Nach meinem Wissen sollte es 100 drucken, aber es druckt 0, Kann jemand erklären, was hier passiert? Vielen Dank.Post Increment Operation innerhalb der Schleife

 int j = 0; 
     for (int i = 0; i < 100; i++) 
     j = j++; 
     System.out.println(j); 
+0

Wenn Sie dies debuggen, passiert etwas Unerwartetes? – David

+0

nicht viel iterieren 100 mal und inkrementieren 'j' durch 1 und schließlich Druckwert von' j' – Blasanka

+0

In der Tat druckt es nur die 100 – kleopi

Antwort

0

Dies ist eine Schleife.

Er zählt von 0 bis 99 für i

(um 1 inkrementiert wird) nur

Ausgang ist "0" als die for-Schleife die Inkrementierung und beinhaltet nicht die Sysout!

Das j = j ++ bewirkt, dass das Ergebnis 0 ist, da es gleich ist. J = j = j + 1, das nach dem Inkrementieren den alten Zustand von j zu sich selbst zuweist.

+0

0 bis 99 nicht 1 bis 99 – Blasanka

+0

Ausgabe ist 0 nicht 99 –

+0

Vielen Dank .. habe dies :) – ManishNegi

Verwandte Themen