Sorry, das ist jetzt die Frage eines blutigen Anfängers, aber mir leuchtet folgendes nicht ein:
Warum verändert einmal void die int-Variable a in der main-Methode nicht (Zeile 17),
dann allerdings (auch void als Rückgabewert) das erste Element des int-arrays b in Zeile 19 schon?
Also mir ist klar, das void bedeutet, dass es keinen Rückgabewert gibt, sondern die Methode nur etwas "machen" kann. Jedoch ist mir nicht klar, wo hier der gravierende Unterschied liegt, dass die Addition einmal durchgeführt wird und einmal nicht.
Warum verändert einmal void die int-Variable a in der main-Methode nicht (Zeile 17),
dann allerdings (auch void als Rückgabewert) das erste Element des int-arrays b in Zeile 19 schon?
Also mir ist klar, das void bedeutet, dass es keinen Rückgabewert gibt, sondern die Methode nur etwas "machen" kann. Jedoch ist mir nicht klar, wo hier der gravierende Unterschied liegt, dass die Addition einmal durchgeführt wird und einmal nicht.
Java:
public class Methoden {
public static void A(int a) {
a+=3;
}
public static void B(int[] a) {
a[0] += 10;
}
public static void main(String[] args) {
int a = 0; //Wert von a ist natürlich 0
int[] b = new int[] {a+5}; //Wert von b[0]=5
A(a); //Wert von a = 0 ! Nur innerhalb der Methode steigt er kurz auf 3, da void kein Rückgabewert liefert
System.out.println(a);
B(b);//Wert von b[0] = 15
System.out.println(b[0]);
}
}
Zuletzt bearbeitet: