Cześć,
dzisiaj nauczymy się co jest tablica i jak możemy jej użyć.
Jeżeli nie widziałeś wcześniejszych poradników, to zapraszam cię do lektury poprzedniego postu o konstruktorach:
Wszyscy używają tych tablic, więc po co i czym one są?
Najprostszymi słowami mówić, tablica to pewien zbiór "kontenterów" posiadających swoje miejsce, ale przewożone przez "jeden statek". Ten "statek" możemy sobie nazwać i on sam w sobie też jest kontenerem, ale dla innych kontenterów. Oczywiście statek przewozi, tylko kontenery jednego typu. Innych nie akceptuje. A teraz opiszę to trochę bardziej profesjonalnie. Tablica, to zbiór zmiennych. Tablica jest zmienną, która przechowuje kilka innych zmiennych. Te zmienne musza mieć ten sam typ. Żeby dostać się do zmiennej przechowywanej w tablicy, musimy odwołać się do tablicy, a nastepnie do numerku, gdzie znajduje się dana poszukiwana zmienna.
Każda zmienna w tablicy ma swój numer indeksu. Indeks jest numerowany od zera (w Javie). Załóżmy, że tworzymy tablicę, która pomieści 5 elementów typu liczb całkowitych (int
). Jak więc wygląda definicja takiej tabeli?
public static void main(String[] args) {
int[] zmiennaTablicowa = new int[5];
}
Jak widzicie, w głównej metodzie main
, stworzyłem zmienną o typu tablicy przechowującej liczby typu int
.
Typ zmiennej tablicowej przechowującej liczby całkowite definiuje się poprzez int[]
.
Następnie mamy nazwę zmiennej czyli "zmiennaTablicowa".
A na samym końcu mówimy, że do naszej tablicy, chcemy dodać 5 miejsc, do przechowywania zmiennych typu int
.
A słowo kluczowe new
mówi, że zajmij w pamięci miejsce, do którego będziemy wrzucać nasze wartości.
No dobra, to dodajmy teraz jakieś wartości do tablicy i wykonajmy jakieś działania:
public static void main(String[] args) {
int[] zmiennaTablicowa = new int[5];
int zmiennaZLiczba = 5;
zmiennaTablicowa[0] = zmiennaZLiczba;
zmiennaTablicowa[1] = 5;
int suma = zmiennaTablicowa[0] + zmiennaTablicowa[1];
System.out
.println("Suma liczb z tablicy, to:" + suma);
}
Napiszę wam teraz co tu tutaj się dzieje od początku.
Mamy główną metodę main
. Tworzymy zmienną tablicową mogącą przechowywać 5 elementów typu int
.
Następnie tworzę zmienną typu int
o nazwie "zmiennaZLiczba" i wrzucam do niej wartość 5.
Po tym, do pierwszej komórki(kontenera) tablicy wrzucam zawartość przechowywaną w zmiennej "zmiennaZLiczba".
Następna instrukcja wrzuca do drugiej komórki tablicy wartość 5.
Potem tworzona jest zmienna typu int
o nazwie "suma", gdzie sumuję zawartość pierwszych dwóch miejsc w tabeli.
Na końcu zawartość zmiennej "suma" zostaje wyświetlona na ekranie.
Okej, co jakbym chciał od razu wprowadzić 5 elementów do tablicy np. 5 liczb. Jak można to wykonać?
Możesz to wykonać w następujący sposób:
int[] zmiennaTablicowa = {5, 4, 3, 2, 1};
A co, jeżeli chcielibyśmy zobaczyć zawartość tak bez powtarzania zmiennaTablicowa[0]
, zmiennaTablicowa[1]
, zmiennaTablicowa[2]
itd.?
Możemy do tego wykorzystać pętlę for
. (Jeżeli nie wiesz co to pętla for
, to zapraszam cię do obejrzenia poprzednich postów, gdzie opisuję wszystkie pętle for
)
Przykład wykorzystania tu pętli for
jest następujący:
public static void main(String[] args) {
int[] zmiennaTablicowa = {5, 4, 3, 2, 1};
for (int i = 0; i < 5; i++) {
int pobranaZmiennaZTablicy = zmiennaTablicowa[i];
System.out
.println("Zmienna na miejscu o indeksie " + i + " ma wartość " + pobranaZmiennaZTablicy);
}
}
Mamy oczywiście tutaj metodę main. Mamy stworzoną tablicę typu przchowującą liczby int
.
Do niej wrzucamy liczby 5, 4, 3, 2, 1.
Następnie tworzona jest pętla, która startuje od liczby zero i wykonuje instrukcje zawarte wewnątrz 5 razy (od zera aż do 4, czyli 5 w sumie. Od zera, bo tablica zaczyna się od indeksu 0. 5 razy, bo i < 5. więc startując od 0 mamy 0 < 5, 1 < 5, 2 < 5, 3 < 5, 4 <5, STOP, 5 nie jest mniejsze od 5)
Potem stworzyłem zmienną, która bierze sobie wartość z tablicy w indeksie o numerze "i". A numer "i" zmienia się od wartości 0 do wartości 4.
Na końcu wyświetlam na ekranie jaki jest aktualny indeks oraz jaka jest wartość przechowywana w tablicy na danej pozycji o numerze przechowywanym w zmiennej "i".
A co w przypadku, gdy chcemy mieć tablicę z innymi typami zmiennych?
W takim wypadku, zamiast int[] możemy napisać String[] albo double[] itd.
Czyli podam przykład dla tablicy przechowującej kilka napisów na raz:
public static void main(String[] args) {
String[] napisy = new String[10];
}
Powyższy kod stworzy tablicę napisów, gdzie można przechować 10 napisów(łańcuchów znaków)
Dobra, to teraz zadanie dla was, wypełnijcie tablicę napisami "Umiem", "wykorzystać", "tablicę", "w", "Javie",".". Następnie połączcie napisy w identycznej kolejności co zostały zdefiniowane w tablicy i wyświetlcie je na ekranie. Kod możecie podlinkować w komentarzu i mogę go skomentować oraz ocenić :)
Możecie do tego użyć pętli, albo możecie użyć jakiś magicznych metod, które znajdziecie.
Powodzenia!