Warum sind Werte in den Feldern ?

Käsekuchen

Mitglied
Java:
public class lotto {
    public static void initArray(int[] x) {
        for(int i = 0; i<x.length;i++) {
            x[i] = (int)(Math.random()*49+1);
        }
    }
    
    public  static void main (String[]args) {
        int [] lottozahlen = new int[6];
        initArray(lottozahlen);
        for(int i = 0; i< lottozahlen.length;i++) {
            System.out.println(lottozahlen[i]+ " ");
        }
    }
}
warum sind die Felder vom array lottozahlen ( lottozahlen[0],lottozahlen[1]... ) gefüllt ? Ich geb doch bei der Methode weder was zurück....

Code:
public class kp {
    public static void multipizieren(int a) {
        a = 10;
        
    }
    
    public static void main(String[]args) {
        int x = 5;
        multipizieren(x);
        System.out.println(x);
        
    }
}
Das z.B funktionier ja auch nicht, ich müsste ja wenn dann die zehn zurückgeben und dann x = multiplizieren(x) schreiben.
Aber warum geht das beim array einfach so ?
 
Ein Array ist ein Referenz-Typ. Du übergibst also nicht das Array selbst sondern nur eine Referenz auf dieses.

Das ist also wie:
Du baust ein Haus. Dann schickst Du einem Abbruch-Unternehmen die Adresse und der reisst das Haus dann ab.
Dann ist das Haus natürlich verändert / Weg - obwohl Du dem gar nicht das Haus gesendet hast sondern nur eine Adresse.
 
Ein Array ist ein Referenz-Typ. Du übergibst also nicht das Array selbst sondern nur eine Referenz auf dieses.

Das ist also wie:
Du baust ein Haus. Dann schickst Du einem Abbruch-Unternehmen die Adresse und der reisst das Haus dann ab.
Dann ist das Haus natürlich verändert / Weg - obwohl Du dem gar nicht das Haus gesendet hast sondern nur eine Adresse.
achsooo, danke für die Erklärung 🙂
 

Neue Themen


Zurück
Oben