Zmienne w Javie – to jedno z podstawowych zagadnień, które programista powinien mieć w tzw. małym palcu.
Tworząc aplikacje w Javie – praktycznie niemożliwe byłoby nieużywanie zmiennych. Dlatego w tym materiale chcę Ci powiedzieć – czym są zmienne, jakie występują typy zmiennych oraz jak jest deklarować i inicjalizować.
Spis treści
- 1 Zmienne – wprowadzenie
- 2 Java – Zmienna (ang. variable) – Definicja
- 3 Deklaracja i inicjalizacja zmiennych
- 4 Java – Sposoby na przedstawienie danych
- 5 Java – Literał
- 6 Java – Zmienna
- 7 Java – Stała
- 8 Java – typy danych
- 9 Java – Typy zmiennych
- 10 Java – Zmienne lokalne (ang. local variable)
- 11 Java – Zmienne instancji
- 12 Java – Zmienne statyczne
- 13 Java – Zmienne – podsumowanie
- 14 Kierunek Java
- 15 20+ BONUSOWYCH materiałów z programowania
Zmienne – wprowadzenie
Z tego materiału dowiesz się:
- Czym są zmienne?
- Jak deklaruje i inicjalizuje się zmienne?
- Jakie są rodzaje zmiennych?
- Jakie typy danych występują w Javie?
Java – Zmienna (ang. variable) – Definicja
Zmienna w Javie to tak naprawdę nic innego – jak kontener danych. Nazwa zmiennej jest tylko nazwą nadaną miejscu w pamięci tzw. wskaźnikiem. Wszystkie operacje wykonywane na zmiennej wpływają na tę lokalizację pamięci.
W momencie, gdy wykonywany jest program, w danej lokalizacji zapisywana jest wartość danych, z których możemy korzystać poprzez odwołanie się do nazwy zmiennej.
Wartość przechowywana w zmiennej może być zmieniana podczas wykonywania programu.
Każda zmienna ma przypisany typ danych, który wyznacza typ, rodzaj i wielkość wartości, które może przechowywać.
⚠️ W Javie wszystkie zmienne muszą być zadeklarowane przed użyciem. ⚠️
Deklaracja i inicjalizacja zmiennych
W celu utworzenia zmiennej musimy ją:
- najpierw zadeklarować – podać jej typ, nadać jej nazwę
- opcjonalnie, zainicjować – przypisać jej wartość
Tak, jak zaprezentowano na schemacie i przykładzie poniżej, zmienną można jednocześnie zadeklarować i zainicjować w jednej linii, ale można to również rozbić na dwa kroki.
⚠️ Raz nadany typ dla zmiennej nie może zostać już zmieniony, czyli jeżeli zadeklarujemy zmienną jako typ int (liczba całkowita), to nigdy nie będzie można w niej już przechować, np. tablicy, czy ciągu znaków. ⚠️
Wartość zmiennej, w przeciwieństwie do jej typu, jak sama nazwa wskazuje, może zmieniać się w czasie.
Należy pamiętać, że w przypadku zmiennych lokalnych, gdy taka zmienna zostanie zadeklarowana, ale nie będzie jeszcze zainicjowana, czyli nie będzie podana jej wartość, i spróbujemy z niej skorzystać, np. próbując wyświetlić jej wartość, to dostaniemy błąd kompilacji.
// deklaracja i inicjalizacja int value = 1; // deklaracja int value2; // inicjalizacja value2 = 2;
Java – Sposoby na przedstawienie danych
W każdym programie – dane, możemy przedstawić za pomocą:
- literałów
- zmiennych wartości
- stałych wartości
Java – Literał
Literał to fragment kodu bezpośrednio przedstawiający wartość danej, np. liczba: 123 albo ciąg znaków: Hello World.
123 25L 3E8 Hello World
Java – Zmienna
Mówiąc w kontekście przypisywanych wartości, zmienna jest symbolem oznaczającym wielkość, która może przyjmować różne wartości. Natomiast zbiór możliwych wartości jest to zakres tej zmiennej, np. dla typu int jest to zakres od -2147483648 do 2147483647.
int sum = 10; sum = 15;
Java – Stała
Stała tak jak zmienna jest również symbolem oznaczającym pewną wielkość, jednak, w przeciwieństwie do zmiennej, nie może zmieniać swojej wartości podczas działania programu.
public static final MAX_VALUE = 1000;
W ramach tego materiału zajmujemy się przede wszystkim tematem zmiennych – natomiast kompletny materiał poświęcony stałym znajdziesz poniżej.
➡ ZOBACZ 👉: Stałe
Java – typy danych
Java jest językiem silnie typowanym, czyli każda zmienna musi być określonego typu.
Wyróżniane są 2 główne grupy typów danych w Javie:
Java – Typy zmiennych
W Javie wyróżnia się 3 typy zmiennych:
- zmienne lokalne
- zmienne instancji
- zmienne statyczne
Java – Zmienne lokalne (ang. local variable)
Zmienna lokalna to zmienna zdefiniowana wewnątrz bloku, metody lub konstruktora.
Takie zmienne są tworzone w momencie np. wywołania funkcji i niszczone po zakończeniu wywołania funkcji.
Ponieważ zakres zmiennych lokalnych jest tylko w obrębie metody lub bloku, w którym zmienne zostały zadeklarowane, to można uzyskać do nich dostęp tylko w obrębie danej metody/bloku.
⚠️ Inicjalizacja zmiennej lokalnej jest obowiązkowa przed użyciem jej w zdefiniowanym zakresie. ⚠️
public class LocalVariable { public void print(){ String name = "Kasia"; String lastname = "Kowalska"; System.out.println(name + " " + lastname); } }
Java – Zmienne instancji
Zmienne instancji to zmienne, które są zmiennymi niestatycznymi oraz są zadeklarowane w klasie poza jakąkolwiek metodą, konstruktorem lub blokiem.
Zmienne te są tworzone, gdy obiekt klasy jest tworzony i niszczone, gdy obiekt jest niszczony.
Inicjalizacja zmiennej instancji nie jest obowiązkowa. W przypadku nie zainicjalizowania takiej zmiennej – w zależności od typu – zostanie jej przypisana domyślna wartość np. dla int’a będzie to 0.
Dostęp do takiej zmiennej – można uzyskać tylko po utworzeniu obiektu w ramach którego występuje.
public class InstanceVariable { public String name; } class Main{ public static void main(String[] args) { InstanceVariable instanceVariable = new InstanceVariable(); instanceVariable.name = "Kasia"; } }
Java – Zmienne statyczne
Zmienne statyczne tak jak zmienne instancji to zmienne w obrębie klasy poza jakąkolwiek metodą, konstruktorem czy blokiem. Różni je to, że zmienne statyczne są deklarowane przy użyciu słowa kluczowego static.
Tworząc taką zmienną, tworzymy tylko jedną instancję takiej zmiennej (dla każdego class loadera). Oznacza to, że dokonując zmiany wartości zmiennej, zawsze będziemy updatować tę samą zmienną.
Zmienne statyczne są tworzone na początku wykonywania programu i niszczone automatycznie po zakończeniu wykonywania.
Inicjalizacja zmiennej statycznej nie jest obowiązkowa. Tak jak w przypadku zmiennych instancji ma ona przypisaną wtedy domyślną wartość charakterystyczną dla danego typu.
Aby uzyskać dostęp do zmiennej statycznej, nie jest konieczne tworzenie do tego obiektu. Zmienna ta należy do klasy, dlatego można uzyskać do niej dostęp przez klasę.
public class StaticVariable { public static int counter; } class Counter{ private void count (){ counter++; System.out.println(counter); } }
Java – Zmienne – podsumowanie
W ramach tego materiału dowiedzieliśmy się, czym są zmienne. Bliżej zapoznaliśmy się z rodzajami zmiennych i sposobem ich deklarowania. Jeżeli chcesz kontynuować swoją przygodę z Javą i poznać inne struktury, które oferuję ten język programowania – to zapraszam do kolejnego tematu z serii o Javie. Temat będzie rozszerzeniem zagadnienia zmiennych, ponieważ pomówimy o typach prostych.
➡ ZOBACZ 👉: Typy proste
Kierunek Java
W serii o Javie zapoznajesz się z podstawowymi tematami o Javie. Jeżeli chcesz bardziej kompleksowo zagłębić się w temat Javy, poczytać, posłuchać o Javie, to zachęcam Cię do zapoznania się z moim kursem „Kierunek Java”:
➡ ZOBACZ 👉: Kierunek Java
20+ BONUSOWYCH materiałów z programowania
e-book – „8 rzeczy, które musisz wiedzieć, żeby dostać pracę jako programista”,
e-book – „Java Cheat Sheet”,
checklista – „Pytania rekrutacyjne”
i wiele, wiele wiecej!