~Java4Beginners~
~Java4Beginners~

Matrix

Unter Matrix verstehen wir ein mehrdimensionales Array.

Ein zweidimensionales Array ist vergleichbar mit einer Tabelle. Wir haben Zeilen und wir haben Spalten. Die Deklarierung eines zweidimensionales Arrays ist fast identisch wie die Deklarierung eines Arrays. Der Unterschied besteht an der Anzahl der [] hinter dem Objekt- oder Datentypes. Für jede Dimension benötigen wir ein Klammerpaar [], d. h. bei einem zweidimensionalen Array benötigen wir 2 x []

    int[][] zahlen
Für die Initialisierung benötigen wir nun die Anzahl der Zeilen und Spalten, die unser zweidimensionales Array haben soll.

    zahlen = new int[5][10];
Hiermit haben wir ein zweidmensionales Array mit 5 Zeilen und 10 Spalten initialisiert. Wie bei Arrays können wir Deklaration und Initialisierung auch direkt in einer Anweisung vornehmen.

    int[][] zahlen = new int[5][10];
Ebenfalls möglich ist die Deklaration mit sofortiger Initialisierung mit Werten, wie bei den Arrays. Hierbei werden die Werte zeilenweise zugewiesen. Jede Zeile steht innerhalb von geschweiften Klammern. Die Zeilen sind mit Kommas voneinander getrennt. Die ganze Zuweisung selber steht auch noch in geschweiften Klammern.

    int[][] zahlen = {
        {1,2,3,4,5},
        {6,7,8,9,0},
        {0,4,5,2,3}
                    }
In folgender Tabelle können Sie ersehen, wie die einzelnen Werte in dem eben erstellten Array angesprochen werden können.

Nachfolgend sehen Sie aus der Datei Stat.java eine Methode, um ein 2-dimensionales Array in Tabellenform auszugeben. Der Algorithmus wurde mit 2 ineinander verschachtelter For-Schleifen verwirklicht. Die äußere Schleife bedient die Zeilen. Beginnend mit Zeilenindex 0 wird die äußere For-Schleife so lange durchlaufen, solange die Zählvariable i kleiner als die Länge des Arrays (mit array.length sprechen wir die erste Dimension an, also die Anzahl der Zeilen.) ist. Innerhalb dieser For-Schleife habe ich eine zweite For-Schleife gesetzt, welche die Zählvariable so lange hochzählt, solange die Zählvariable j kleiner als die Länge von array[i].length ist. Innerhalb der Forschleife erfolgt die tabellarische Ausgabe.

    /**
     * Tabellarische Ausgabe eines 2-dimensionalen int-Arrays
     * @param array vom Datentyp int[][]
     */
    static void int2dArrayAusgeben(int[][] array)
    {
        for (int i = 0; i < array.length ; i++)
        {
            for (int j = 0; j < array[i].length; j++)
            {
                System.out.print(array[i][j]+"\t");
            }
            System.out.println("");
        }
    }
Auch diese Methode habe ich in die Stat.java gespeichert.

Auch bei mehrdimensionalen Arrays kann nicht mit verschiedenen Datentypen innerhalb der Matix gearbeitet werden.

Beispielprogramme

In diesem kleinen Programm wird die Ausgabe in der Stat.java aufgerufen.

/**
 * Beispielprogramm für die Verwendung von 2-dimensionalen-Arrays
 * @author Markus Badzura
 */
public class Matrix 
{
    public static void main(String[] args)
    {
        int[][] zahlen = {{1,2,3,4,5},
                          {6,7,8,9,10},
                          {11,12,13,14,15}};
        
        Stat.int2dArrayAusgeben(zahlen);
    }
}
nach oben Java4Beginners -- Seitenversion 1.0 -- Stand: 2017-05-17