Tablice w Javie – podstawy

TL;DR: Tablice w Javie to kontenery przechowujące wiele wartości tego samego typu. Deklarujesz je przez typ[] nazwa, tworzysz przez new typ[rozmiar] i używasz przez nazwa[indeks]. Indeksy zaczynają się od 0.

Wyobraź sobie, że masz pudełko z przegródkami, gdzie każda przegródka może przechowywać jedną rzecz tego samego typu – na przykład tylko liczby. To właśnie są tablice w Javie – uporządkowane kontenery, które pozwalają przechowywać wiele wartości jednocześnie.

Dlaczego tablice są ważne

Tablice to podstawowy element każdego programu. Bez nich musielibyśmy tworzyć osobną zmienną dla każdej wartości – wyobraź sobie deklarowanie student1, student2, student3… dla setki uczniów! Tablice pozwalają przechowywać wszystkie dane w jednym miejscu i efektywnie nimi zarządzać.

Po przeczytaniu tego artykułu będziesz wiedzieć:

  • Jak deklarować i tworzyć tablice w Javie
  • Jak wypełniać tablice danymi
  • Jak odczytywać wartości z tablicy
  • Jak iterować po elementach tablicy
  • Jakie są najczęstsze błędy przy pracy z tablicami
Wymagania wstępne: Podstawowa znajomość zmiennych w Javie, pętli for i typów danych (int, String).

Czym jest tablica

Tablica (Array) – struktura danych przechowująca wiele elementów tego samego typu w uporządkowany sposób. Każdy element ma swój unikalny indeks (numer pozycji).
Tablica to jak rząd skrzynek pocztowych w urzędzie. Każda skrzynka ma swój numer (indeks) i może przechowywać jedną rzecz (wartość). Skrzynka nr 0 to pierwsza z lewej, nr 1 to druga, itd.

Jak deklarować tablice

W Javie tablice deklaruje się na dwa sposoby:

// Sposób 1 - zalecany
int[] liczby;
String[] imiona;

// Sposób 2 - działa, ale mniej czytelny  
int liczby[];
String imiona[];
Nawiasy kwadratowe [] mówią Javie, że chcesz tablicę, a nie pojedynczą zmienną.

Tworzenie i inicjalizacja tablic

Po deklaracji musisz utworzyć tablicę podając jej rozmiar:

// Tworzenie pustej tablicy o rozmiarze 5
int[] liczby = new int[5];

// Tworzenie i wypełnianie od razu
int[] oceny = {5, 4, 3, 5, 4};
String[] miasta = {"Warszawa", "Kraków", "Gdańsk"};

// Można też w dwóch krokach
int[] wyniki;
wyniki = new int[10];
Pro tip: Gdy tworzysz tablicę przez new int[5], wszystkie elementy są automatycznie wypełnione wartościami domyślnymi (0 dla liczb, null dla obiektów).

Odczytywanie i zapisywanie wartości

Do elementów tablicy odwołujesz się przez indeks w nawiasach kwadratowych:

int[] liczby = {10, 20, 30, 40, 50};

// Odczytywanie - indeksy zaczynają się od 0!
System.out.println(liczby[0]); // Wypisze: 10
System.out.println(liczby[2]); // Wypisze: 30

// Zapisywanie nowej wartości
liczby[1] = 100;
System.out.println(liczby[1]); // Wypisze: 100

// Sprawdzanie długości tablicy
System.out.println("Tablica ma " + liczby.length + " elementów");
Uwaga: Indeksy w tablicach zaczynają się od 0, nie od 1! Tablica o rozmiarze 5 ma indeksy od 0 do 4.

Iterowanie po tablicy

Najczęściej przechodzisz przez wszystkie elementy tablicy używając pętli:

String[] kolory = {"czerwony", "niebieski", "zielony", "żółty"};

// Zwykła pętla for
for (int i = 0; i < kolory.length; i++) {
    System.out.println("Kolor " + i + ": " + kolory[i]);
}

// Enhanced for loop (for-each) - prostszy zapis
for (String kolor : kolory) {
    System.out.println("Kolor: " + kolor);
}
Pętla for-each jest prostsza gdy nie potrzebujesz znać indeksu elementu - po prostu przechodzi przez wszystkie wartości.

Najczęstsze błędy początkujących

Błąd #1: Próba dostępu do elementu poza tablicą

int[] tab = new int[3]; // Indeksy: 0, 1, 2
System.out.println(tab[3]); // BŁĄD! ArrayIndexOutOfBoundsException
Błąd #2: Zapomnienie o inicjalizacji

int[] liczby; // Tylko deklaracja
liczby[0] = 5; // BŁĄD! Tablica nie została utworzona
Błąd #3: Myślenie że indeksy zaczynają się od 1

int[] tab = {1, 2, 3};
// Pierwszy element to tab[0], nie tab[1]!

Najczęściej zadawane pytania

Czy mogę zmienić rozmiar tablicy po utworzeniu?

Nie, rozmiar tablicy w Javie jest stały. Jeśli potrzebujesz dynamicznego rozmiaru, użyj ArrayList.

Co się stanie gdy nie wypełnię wszystkich elementów tablicy?

Java automatycznie wypełni je wartościami domyślnymi: 0 dla liczb, false dla boolean, null dla obiektów.

Czy mogę przechowywać różne typy danych w jednej tablicy?

Nie, wszystkie elementy tablicy muszą być tego samego typu. Możesz użyć Object[] ale to nie jest zalecane dla początkujących.

Jak skopiować tablicę?

Użyj System.arraycopy() lub stwórz nową tablicę w pętli. Zwykłe przypisanie = kopiuje tylko referencję, nie elementy.

Dlaczego indeksy zaczynają się od 0?

To konwencja z języka C. Indeks to przesunięcie od początku tablicy w pamięci - pierwszy element ma przesunięcie 0.

Przydatne zasoby:

🚀 Zadanie dla Ciebie

Napisz program który:

  1. Tworzy tablicę 5 liczb całkowitych
  2. Wypełnia ją liczbami od użytkownika (Scanner)
  3. Wyświetla wszystkie liczby
  4. Znajduje i wyświetla największą liczbę

Sprawdź czy potrafisz obsłużyć błędy gdy użytkownik poda nieprawidłowe dane!

Jak Ci idzie praca z tablicami? Jakie masz pytania na temat przechowywania danych w Javie?

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Przewijanie do góry