Übergabe eines Arrays an eine Methode in Java

Mohammad Irfan 12 Oktober 2023
  1. Arrays in Java
  2. Methoden in Java
  3. Übergabe von Arrays an Methoden in Java
  4. Übergabe von Arrays an eine Methode in Java
  5. Übergabe eines mehrdimensionalen Arrays an eine Methode in Java
  6. Verstehen, wie Arrays an Methoden in Java übergeben werden
  7. Übergabe eines Arrays an eine Methode in Java
Übergabe eines Arrays an eine Methode in Java

In diesem Tutorial wird erläutert, wie Sie ein Array an eine Methode in Java übergeben. Wir haben auch einige Beispielcodes aufgelistet, um Ihnen das Verständnis des Themas zu erleichtern.

Java ist eine mächtige objektorientierte Programmiersprache; Es ist eine universelle Programmiersprache, die für verschiedene Zwecke verwendet werden kann. Lassen Sie uns etwas über Arrays und Methoden in Java lernen und verstehen, wie ein Array an eine Methode übergeben wird.

Arrays in Java

Arrays sind eine Sammlung fester Größe desselben Datentyps. Sie werden als zusammenhängende Blöcke im Speicher gespeichert und ermöglichen uns den zufälligen Zugriff auf jedes Element des Arrays zu einer konstanten Zeit.

Dieser wahlfreie Zugriff ist möglich, weil jedem Element in einem Array ein dedizierter Index zugeordnet ist. Wir müssen nicht das gesamte Array durchlaufen, um ein bestimmtes Element zu erreichen. Array-Indizes beginnen bei 0 und gehen bis n-1, wobei n die Länge des Arrays ist.

Die folgenden Codezeilen erklären, wie Sie ein Array erstellen und auf seine Elemente zugreifen.

public class Main {
  public static void main(String[] args) {
    int[] arr; // Declaration
    arr = new int[5]; // Creation
    // Initialization
    arr[0] = 1;
    arr[1] = 3;
    arr[2] = 5;
    arr[3] = 7;
    arr[4] = 9;
    // Accessing Array Elements
    System.out.println("Second Element: " + arr[1]);
    System.out.println("Fourth Element: " + arr[3]);
  }
}

Ausgabe:

Second Element: 3
Fourth Element: 7

Methoden in Java

Eine Methode ist als eine Reihe von Anweisungen definiert, die verwendet werden können, um eine bestimmte Aufgabe zu erfüllen. Sie werden verwendet, um die Wiederverwendbarkeit unseres Codes zu erhöhen.

Wenn wir zum Beispiel die Fakultät aller Zahlen zwischen 1 und 10 finden wollen, wäre es viel besser, eine Methode für Fakultät zu definieren und diese Methode zuerst 10 Mal aufzurufen, anstatt die gesamte Logik der Fakultät 10 umzuschreiben andere Zeiten.

Methoden in Java sind Funktionen in anderen Programmiersprachen sehr ähnlich. Der einzige Unterschied besteht darin, dass Methoden einem Objekt zugeordnet sind, Funktionen jedoch nicht. Da Java eine vollständig objektorientierte Sprache ist, haben wir nur Methoden in Java.

Übergabe von Arrays an Methoden in Java

Eine Methode kann einen festen Satz von Parametern annehmen oder nicht. Ein Parameter kann eine beliebige Variable sein, die wir verwenden müssen, um den Rumpf der Methode zu definieren.

Im Beispiel einer Fakultätsmethode kann ein Parameter die Zahl sein, deren Fakultät wir finden müssen. Aber was ist, wenn wir ein ganzes Array an eine Methode übergeben müssen?

In der Methodendeklaration müssen wir Java mitteilen, dass die Methode ein Array eines bestimmten Datentyps akzeptieren muss, um ein Array an eine Methode zu übergeben. Verwenden Sie den Datentyp des Arrays und eckige Klammern, um anzugeben, dass der Parameter ein Array ist.

// Method Declaration
public static void addTen(int[] arr) {
  // Method Body
}

Immer wenn die Methode aufgerufen wird, müssen wir den Namen des Arrays an die Methode übergeben. Das folgende Beispiel zeigt einen vollständigen Code mit einer Methode, die ein Array akzeptiert und diese Methode aufruft.

public class Main {
  public static void addTen(int[] arr) // int[] denotes that the parameter is an array
  {
    for (int i = 0; i < arr.length; i++) {
      arr[i] += 10;
    }
  }
  public static void main(String[] args) {
    int[] arr = {1, 3, 5, 7, 9};
    addTen(arr); // Simply pass the name of the array to the method
    for (int i = 0; i < arr.length; i++) {
      System.out.print(arr[i] + " ");
    }
  }
}

Ausgabe:

11 13 15 17 19 

Übergabe von Arrays an eine Methode in Java

Betrachten Sie ein anderes Beispiel, bei dem wir zwei Arrays derselben Länge an eine Methode übergeben. Die Methode sollte die Summe der beiden Arrays ausgeben.

public class Main {
  public static void addArrays(
      int[] arr1, int[] arr2) // Two arrays are mentioned in the method declaration
  {
    for (int i = 0; i < arr1.length; i++) {
      int sum = arr1[i] + arr2[i];
      System.out.print(sum + " ");
    }
  }
  public static void main(String[] args) {
    int[] arr1 = {1, 2, 3, 4, 5};
    int[] arr2 = {2, 4, 6, 8, 10};
    addArrays(arr1, arr2); // Passing two arrays and calling the method
  }
}

Ausgabe:

3 6 9 12 15

Übergabe eines mehrdimensionalen Arrays an eine Methode in Java

Wir können auch ein mehrdimensionales Array an eine Methode in Java übergeben. Wir müssen den Datentyp der Array-Elemente und eckigen Klammern entsprechend der Dimension des Arrays angeben.

Betrachten Sie das folgende Beispiel, in dem wir die Summe aller Elemente finden, die in einem 2D-Array vorhanden sind.

public class Main {
  public static void sum(int[][] arr) {
    int sum = 0;
    for (int i = 0; i < arr.length; i++) {
      for (int j = 0; j < arr[0].length; j++) {
        sum = sum + arr[i][j];
      }
    }
    System.out.print("Sum of all elements is: " + sum);
  }
  public static void main(String[] args) {
    int[][] arr = {{1, 2, 3, 4, 5}, {2, 4, 6, 8, 10}, {1, 3, 5, 7, 9}};
    sum(arr);
  }
}

Ausgabe:

Sum of all elements is: 70

Verstehen, wie Arrays an Methoden in Java übergeben werden

Werfen wir einen Blick darauf und versuchen zu verstehen, was hinter den Kulissen passiert, wenn wir einen Parameter an eine Methode übergeben.

In Java sind Parameter ein Übergabetyp nach Wert. Das bedeutet, dass jedes Mal, wenn wir eine Variable an eine Methode übergeben, eine Kopie des Wertes dieser Variablen von dem übergeben wird, was die Methode verwendet, und nicht von der ursprünglichen Variablen selbst.

Betrachten wir zum Beispiel den folgenden Fall, in dem eine Methode eine Ganzzahl akzeptiert und dieser Ganzzahl 10 hinzufügt.

public class Main {
  public static void addTen(int num) {
    num = num + 10;
  }
  public static void main(String[] args) {
    int a = 12;
    addTen(a);
    System.out.print(a);
  }
}

Ausgabe:

12

Was denken Sie, wird die Ausgabe des obigen Codes sein? Der Wert der Zahl sollte um 10 erhöht werden, oder?

Obwohl die Ganzzahl an die Methode übergeben wird, erhält die Methode tatsächlich eine Kopie des Ganzzahlwerts. Alle Änderungen werden also an dieser Kopie vorgenommen, und an der ursprünglichen Ganzzahl wird keine Änderung vorgenommen. Dies geschieht jedoch nur bei primitiven Datentypen wie int.

Dies ist bei Arrays nicht der Fall, da Arrays keine primitiven Datentypen sind und als container Objekte betrachtet werden, die auf eine Speicherstelle im Heap-Speicher verweisen. Dadurch speichern sie den Wert eines Speicherplatzes und nicht die eigentlichen Daten.

Immer wenn wir etwas an diesem Speicherort ändern, wird diese Änderung für alle Zeiger (oder Referenzen) sichtbar, die auf diesen Speicherort zeigen. Denken Sie daran, dass Arrays in Java auch als Wert übergeben werden, aber dieser Wert ist eigentlich ein Speicherort.

Betrachten Sie den oben erwähnten Code, in dem wir eine Methode erstellt haben, um jedem Element eines Arrays 10 hinzuzufügen.

Übergabe eines Arrays an eine Methode in Java

Wir müssen häufig eine Sammlung des gleichen Datentyps an eine Methode übergeben. Arrays eignen sich am besten für diese Aufgaben, und wir können ein Array an die Methode übergeben.

In der Methodendeklaration müssen wir klar angeben, dass die Methode ein Array des genannten Datentyps akzeptieren soll; Dies geschieht mit dem Datentyp und eckigen Klammern (zum Beispiel int[] arrayName).

Beim Aufruf der Methode können wir den Namen des Arrays eingeben. In diesem Tutorial haben wir auch gelernt, wie Methoden Arrays behandeln und wie der Speicherort, der die Elemente eines Arrays speichert, aktualisiert wird.

Verwandter Artikel - Java Array

Verwandter Artikel - Java Method