Post-Verbundzuweisung?

flashray

Erfahrenes Mitglied
Hallo,

Java:
public class Test {
	public static void main(String[] args) {
		int i = 3;
		System.out.println(++i);
		System.out.println(i);
		System.out.println();

		int j = 3;
		System.out.println(j++);
		System.out.println(j);
		System.out.println();

		int k = 5;
		System.out.println(k += 1);
		System.out.println(k);
		System.out.println();

		int l = 7;
		System.out.println(l =+ 1);
		System.out.println(l);
	}
}

Ausgabe
Code:
4
4

3
4

6
6

1
1

Ich hätte hier als Ausgabe beim letzten Paar 7 und 8 erwartet anstatt 1 und 1. Wieso kommt aber doch 1,1 raus?


Vg Erdal
 
Hallo Redwing,

nein eben nicht :) ! Bei
Code:
l += 1
wäre die Ausgabe nach obigem Quelltext: 8 und 8 sowie bei dem k=5 6 und 6 ausgegeben wird.

Analog zu den obigen Prä- und Postinkrement wäre hier meine Erwartung aber 7 und 8.


Vg Erdal
 
Hallo,

wenn du schreibst l = +1 ist das dasselbe als würdest du schreiben l = 1
deswegen kommt da auch 1,1 raus und nicht 8,8 so wie du es erwartest...

Gruß,
RedWing
 
Hallo Redwing,

daß heisst es gibt keine Verbundzuweisung der Art =+ analog zu dem Postinkrement i++. Das plus sieht der Compiler dann als ein Vorzeichen und nicht Bestandteil einer Verbundzuweisung ähnlichwie +=.


Danke.

Vg Erdal
 
Sorry, hätte wohl mal den Titel des Threads besser beachten sollen, hätte mir einige
Verwirrungen erspart :)

Gruß,
RedWing
 
Zurück