Hallo,
Dies ist eine Übung für die Prüfung, in den Kommentaren stehen immer die Ergebnisse was eben Ausgegeben wird/werden soll.
LINKS stehen meine (teilweise falschen) Ergebnisse, RECHTS die richtigen.
Meine frage nun wieso sind die richtigen ergebnisse in Zeile 21,22,32 und 41 nun so wie sie sind und nicht so wie ich dachte ?
Wäre schön wenn mir jemand ein paar hilfreiche Argumente liefern könnte =) ...
Dies ist eine Übung für die Prüfung, in den Kommentaren stehen immer die Ergebnisse was eben Ausgegeben wird/werden soll.
LINKS stehen meine (teilweise falschen) Ergebnisse, RECHTS die richtigen.
Meine frage nun wieso sind die richtigen ergebnisse in Zeile 21,22,32 und 41 nun so wie sie sind und nicht so wie ich dachte ?
Wäre schön wenn mir jemand ein paar hilfreiche Argumente liefern könnte =) ...
Java:
class C {
int i;
C() { i = 0; }
void f(C y) {
i += 1;
y.i = i + 2;
}
void f(int j) {
j *= 2;
i = j;
}
public static void main(String[] args) {
C x = new C();
C y = new C();
y.i = x.i++;
System.out.println(x.i); //__0________1____________
System.out.println(y.i); //__1________0____________
x.i = 5;
x.f(y);
System.out.println(x.i); //__6________6____________
System.out.println(y.i); //__8________8____________
int j = 7;
x.f(j);
System.out.println(x.i); //__14_______14_____________
System.out.println(j); //___ 14_______7___________
y.i = 10;
x = y;
System.out.println(x.i); //___10______10_____________
System.out.println(y.i); //___10______10_____________
x.i = 20;
System.out.println(x.i); //___20______20_____________
System.out.println(y.i); //___10______20_____________
}
}