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
Czym jest tablica
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[];
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];
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");
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); }
Najczęstsze błędy początkujących
int[] tab = new int[3]; // Indeksy: 0, 1, 2 System.out.println(tab[3]); // BŁĄD! ArrayIndexOutOfBoundsException
int[] liczby; // Tylko deklaracja liczby[0] = 5; // BŁĄD! Tablica nie została utworzona
int[] tab = {1, 2, 3}; // Pierwszy element to tab[0], nie tab[1]!
Najczęściej zadawane pytania
Nie, rozmiar tablicy w Javie jest stały. Jeśli potrzebujesz dynamicznego rozmiaru, użyj ArrayList.
Java automatycznie wypełni je wartościami domyślnymi: 0 dla liczb, false dla boolean, null dla obiektów.
Nie, wszystkie elementy tablicy muszą być tego samego typu. Możesz użyć Object[] ale to nie jest zalecane dla początkujących.
Użyj System.arraycopy() lub stwórz nową tablicę w pętli. Zwykłe przypisanie = kopiuje tylko referencję, nie elementy.
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:
- Tworzy tablicę 5 liczb całkowitych
- Wypełnia ją liczbami od użytkownika (Scanner)
- Wyświetla wszystkie liczby
- 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?