Inkrementierung und Dekrementierung

Status
Nicht offen für weitere Antworten.
M

Moni

Gast
Ich hätte eine Frage zu folgendem Programm:

Code:
public class MyClass
{
  public static void main(String[] args)
  {
    int a = 2;
    int b = 2;	    	
		
    System.out.println(++a);
    System.out.println(a++);
    System.out.println(a  );
    System.out.println(--b);
    System.out.println(b--);
    System.out.println(b  );
  }
}


Wieso wird folgendes ausgegeben:
3
3
4
1
1
0

Ich hätte
3
3
2
1
1
2
erwartet?
 

The_S

Top Contributor
++/-- verändern die Variable. Man könnte z. B. sagen, dass

--b entspricht b -= 1 entspricht b = b - 1
 

ARadauer

Top Contributor
Code:
System.out.println(++a); a wird erhöht, a wird ausgegeben, a ist jetzt 3
System.out.println(a++); a wird ausgegeben, a wird erhört, a ist jetzt 4
System.out.println(a  ); a wird ausgegeben
System.out.println(--b); b wird veringert, b wird ausgeben, ist jetzt 1
System.out.println(b--); b wird ausgeben, b wird veringert, b ist jetzt 0
System.out.println(b  ); b wird ausgeben
 

JavaFred

Aktives Mitglied
ARadauer hat gesagt.:
Code:
System.out.println(a++); a wird ausgegeben, a wird erhört, a ist jetzt 4
Falsch. a wird sofort erhöht, es wird aber der alte Wert ausgegeben. Die Erhöhung passiert nicht verzögert, sondern unmittelbar.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben