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.