Dlaczego zmienne są ważne?
Wyobraź sobie, że piszesz program do zarządzania sklepem. Musisz przechowywać informacje o produktach – ich nazwy, ceny, ilości. Bez zmiennych nie masz gdzie tych danych przechować! Zmienne to jak pudełka z etykietkami – każde ma swoją nazwę i zawiera określony typ informacji.
Co się nauczysz:
- Czym są zmienne i dlaczego są niezbędne w programowaniu
- Jakie są podstawowe typy danych w Javie
- Jak deklarować i inicjalizować zmienne
- Jakie są różnice między typami prostymi a referencyjnymi
- Jak unikać częstych błędów przy pracy ze zmiennymi
Wymagania wstępne:
Poziom: Całkowite podstawy – pierwszy tydzień z programowaniem
Potrzebujesz: Zainstalowanej Javy i IDE (np. Eclipse, NetBeans)
Czas nauki: 30-45 minut
Czym jest zmienna?
W Javie zmienna to nazwane miejsce w pamięci komputera, gdzie przechowujemy dane. Każda zmienna ma trzy ważne elementy:
- Typ – jaki rodzaj danych może przechowywać
- Nazwa – jak się do niej odwołujemy w kodzie
- Wartość – co aktualnie zawiera
// Deklaracja zmiennej int wiek; // typ: int, nazwa: wiek, wartość: brak (null) // Inicjalizacja zmiennej wiek = 25; // przypisanie wartości 25 // Deklaracja z inicjalizacją w jednej linii int rokUrodzenia = 1990;
Podstawowe typy danych w Javie
Java ma osiem podstawowych typów danych, które nazywamy typami prostymi (primitive types). Oto najważniejsze z nich:
Typ | Przechowuje | Przykład | Kiedy używać |
---|---|---|---|
int | Liczby całkowite | 42, -10, 0 | Wiek, ilość, liczniki |
double | Liczby z przecinkiem | 3.14, -2.5 | Ceny, wymiary, procenty |
boolean | Prawda/fałsz | true, false | Status, flagi, warunki |
char | Jeden znak | ’A’, '5′, '@’ | Pojedyncze litery |
String | Tekst | „Witaj świecie” | Nazwy, opisy, komunikaty |
Przykłady deklaracji różnych typów
public class ZmiennePrzyklad { public static void main(String[] args) { // Liczby całkowite int iloscProduktow = 150; int temperatura = -5; // Liczby z przecinkiem double cenaZaLitr = 4.85; double wagaWKilogramach = 75.3; // Wartości prawda/fałsz boolean czyPadaDeszcz = true; boolean czySklepOtwarty = false; // Znaki char pierwszaLiteraNazwiska = 'K'; char ocenaZEgzaminu = 'A'; // Teksty String imie = "Anna"; String nazwiskoFirmy = "TechCorp Solutions"; // Wyświetlenie wartości System.out.println("Imię: " + imie); System.out.println("Wiek: " + iloscProduktow); System.out.println("Cena: " + cenaZaLitr + " zł"); } }
Zasady nazewnictwa zmiennych
Nazwa zmiennej musi spełniać określone zasady, ale dobrze jest też stosować konwencje które ułatwią czytanie kodu:
Zasady obowiązkowe:
- Nazwa może zawierać litery, cyfry, _ i $
- Nie może zaczynać się od cyfry
- Nie może być słowem kluczowym Javy (int, class, public, etc.)
- Java rozróżnia wielkie i małe litery
Dobre praktyki:
- Używaj camelCase – pierwsza litera mała, każde kolejne słowo wielką literą
- Nazwy zmiennych zaczynaj małą literą
- Używaj opisowych nazw po polsku lub angielsku
- Unikaj skrótów które mogą być niejasne
// ✅ Dobre nazwy int wiekKlienta = 30; double cenaBrutto = 123.45; boolean czyAktywneKonto = true; String adresEmail = "jan@example.com"; // ❌ Złe nazwy int w = 30; // co to jest 'w'? double c = 123.45; // co to jest 'c'? boolean flag = true; // jaka flaga? String s = "jan@example.com"; // co zawiera 's'?
Inicjalizacja zmiennych
W Javie możesz zadeklarować zmienną bez przypisywania jej wartości, ale przed pierwszym użyciem musisz ją zainicjalizować (nadać wartość początkową).
public class InicjalizacjaZmiennych { public static void main(String[] args) { // Deklaracja bez inicjalizacji int liczbaKlientow; // ❌ To nie zadziała - zmienna nie została zainicjalizowana // System.out.println(liczbaKlientow); // ✅ Najpierw inicjalizacja, potem użycie liczbaKlientow = 50; System.out.println("Liczba klientów: " + liczbaKlientow); // ✅ Lub deklaracja z inicjalizacją w jednej linii String nazwaProduktu = "Laptop Dell"; double cena = 2499.99; System.out.println(nazwaProduktu + " kosztuje " + cena + " zł"); } }
Częste błędy przy pracy ze zmiennymi
public class CzesteBledy { public static void main(String[] args) { // ❌ Błąd: próba przypisania tekstu do liczby // int wiek = "25"; // Błąd kompilacji! // ✅ Poprawnie: liczba do typu liczbowego int wiek = 25; // ❌ Błąd: dzielenie liczb całkowitych int a = 5; int b = 2; double wynik = a / b; // wynik = 2.0, a nie 2.5! // ✅ Poprawnie: co najmniej jedna liczba typu double double wynikPoprawny = (double) a / b; // wynik = 2.5 System.out.println("Błędny wynik: " + wynik); System.out.println("Poprawny wynik: " + wynikPoprawny); } }
Int przechowuje tylko liczby całkowite (bez części ułamkowej), podczas gdy double może przechowywać liczby z przecinkiem. Używaj int dla liczników, wieku, ilości sztuk. Używaj double dla cen, wag, wymiarów.
Tak! Zmienne w Javie są domyślnie mutowalne, co znaczy że możesz zmieniać ich wartości. Wyjątkiem są zmienne oznaczone słowem `final` – te są stałe.
Najprawdopodobniej zmienna nie została zainicjalizowana. Java wymaga nadania wartości początkowej przed pierwszym użyciem zmiennej lokalnej.
String to typ referencyjny (nie prosty) który przechowuje tekst. Jest tak powszechnie używany, że traktujemy go jak podstawowy typ danych. Deklarujesz go tak: `String nazwa = „tekst”;`
Tak, Java obsługuje polskie znaki w nazwach zmiennych. Możesz pisać `int wiek` lub `String imię`. W niektórych firmach preferuje się angielskie nazwy dla spójności kodu.
Java nie skompiluje kodu bez średników na końcu instrukcji. IDE od razu pokaże błąd podkreślając problem na czerwono. To jeden z najczęstszych błędów składniowych.
🚀 Zadanie dla Ciebie
Stwórz program który przechowuje informacje o Twoim ulubionym filmie: tytuł (String), rok produkcji (int), ocenę (double od 1.0 do 10.0), czy oglądałeś (boolean). Wyświetl wszystkie informacje w czytelny sposób używając System.out.println.
Bonus: Spróbuj obliczyć ile lat minęło od premiery filmu (użyj roku 2015 jako aktualnego).
Przydatne zasoby:
Zmienne i typy danych to fundament każdego programu w Javie. Gdy już opanujesz te podstawy, będziesz mógł przejść do bardziej zaawansowanych tematów jak operatory, instrukcje warunkowe i pętle. Pamiętaj – każdy ekspert kiedyś zaczynał od prostych zmiennych!
A Ty? Jakie masz doświadczenia z pierwszymi krokami w programowaniu? Podziel się w komentarzach!