Tablica dwuwymiarowa: tworzenie i odczyt

Tablice - Podstawy Javy (Java)

Deklaracja i inicjalizacja: Tablica dwuwymiarowa to "tablica tablic" Można ją zainicjalizować przy deklaracji za pomocą zagnieżdżonych nawiasów klamrowych Można też utworzyć pustą tablicę o określonych wymiarach i wypełnić ją później Właściwości tablic 2D w Javie: matrix.length zwraca liczbę wierszy matrix[i].length zwraca liczbę kolumn w i-tym wierszu W Javie wiersze mogą mieć różne długości (nieregularne tablice) Dostęp do elementów: Używamy dwóch indeksów: [wiersz][kolumna] Numeracja rozpoczyna się od 0 Pierwszy indeks określa wiersz, drugi kolumnę Iteracja: Możemy używać zagnieżdżonych pętli for Możemy używać zagnieżdżonych pętli foreach Pętle foreach są czytelniejsze, ale nie dają dostępu do indeksów Operacje na wierszach i kolumnach: Operacje na wierszu wymagają jednej pętli Operacje na kolumnie wymagają przejścia przez wszystkie wiersze Można łatwo obliczać sumy, średnie, znajdować wartości min/max

public class Main {
  public static void main(String[] args) {
    // Deklaracja i inicjalizacja tablicy 2D
    int[][] matrix = {
      {1, 2, 3, 4},
      {5, 6, 7, 8},
      {9, 10, 11, 12}
    };

    // Alternatywny sposób deklaracji i inicjalizacji
    int[][] anotherMatrix = new int[3][4]; // 3 wiersze, 4 kolumny
    // Wypełnianie tablicy wartościami
    for (int i = 0; i < anotherMatrix.length; i++) {
      for (int j = 0; j < anotherMatrix[i].length; j++) {
        anotherMatrix[i][j] = (i + 1) * (j + 1);
      }
    }

    // Wyświetlanie zawartości tablicy (wierszami)
    System.out.println("Zawartość macierzy:");
    for (int i = 0; i < matrix.length; i++) {
      for (int j = 0; j < matrix[i].length; j++) {
        System.out.print(matrix[i][j] + "\t");
      }
      System.out.println(); // nowa linia po każdym wierszu
    }

    // Wyświetlanie za pomocą pętli foreach
    System.out.println("\nWyświetlanie za pomocą foreach:");
    for (int[] row : matrix) {
      for (int element : row) {
        System.out.print(element + "\t");
      }
      System.out.println();
    }

    // Operacje na wierszach
    System.out.println("\nSumy wierszy:");
    for (int i = 0; i < matrix.length; i++) {
      int rowSum = 0;
      for (int j = 0; j < matrix[i].length; j++) {
        rowSum += matrix[i][j];
      }
      System.out.println("Wiersz " + i + ": " + rowSum);
    }

    // Operacje na kolumnach
    System.out.println("\nSumy kolumn:");
    for (int j = 0; j < matrix[0].length; j++) {
      int colSum = 0;
      for (int i = 0; i < matrix.length; i++) {
        colSum += matrix[i][j];
      }
      System.out.println("Kolumna " + j + ": " + colSum);
    }

    // Znajdowanie maksymalnego elementu w macierzy
    int max = matrix[0][0];
    int maxRow = 0;
    int maxCol = 0;

    for (int i = 0; i < matrix.length; i++) {
      for (int j = 0; j < matrix[i].length; j++) {
        if (matrix[i][j] > max) {
          max = matrix[i][j];
          maxRow = i;
          maxCol = j;
        }
      }
    }
    System.out.println("\nMaksymalny element: " + max);
    System.out.println("Pozycja: wiersz " + maxRow + ", kolumna " + maxCol);
  }
}

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Podstawy Javy · Zaloguj się, aby zapisać postęp na koncie.