Rozdział 3 - Zmienne - Czym są zmienne?

Pisząc programy, będziemy korzystali z różnych danych, które musimy gdzieś przechowywać. Dla przykładu, program, który liczy pole i obwód koła, będzie potrzebował przechować następujące dane:

  • promień koła,
  • wartość PI,
  • wynikowe pole koła,
  • wynikowy obwód koła.

Zmienne w programowaniu są kontenerami na wartości. Każda zmienna ma swoją nazwę, typ, oraz przypisaną wartość.

Definiowanie zmiennych

Zanim użyjemy zmiennej, musimy ją zdefiniować, czyli wyspecyfikować, czym jest dana zmienna.

Definicja zmiennej odbywa się poprzez podanie typu zmiennej, po którym następuje jej nazwa i średnik. Spójrzmy na poniższy przykład:

Nazwa pliku: DefinicjaZmiennej.java
public class DefinicjaZmiennej {
  public static void main(String[] args) {
    int liczbaOsob;
  }
}

Jedyne, co robi powyższy program, to zdefiniowanie w metodzie main, że liczbaOsob to zmienna typu całkowitego – od tej pory będziemy mogli z niej korzystać w kodzie naszego programu.

Zmienne nazywamy zmiennymi nie bez powodu – ich wartość może się zmieniać w trakcie działania programu. Dla kontrastu, istnieją także stałe, którym przypisujemy wartość jednorazowo, jak zobaczymy wkrótce.

Aby zmienić wartość zmiennej, piszemy jej nazwę, znak równości, oraz nową wartość:

NadanieZmiennejWartosci.java
public class NadanieZmiennejWartosci {
  public static void main(String[] args) {
    int liczbaOsob;

    liczbaOsob = 5;
    liczbaOsob = 10;
    liczbaOsob = 15;
  }
}

W kolejnych liniach powyższego programu, wartość zmiennej liczbaOsob to 5, następnie 10, a na końcu 15.

Definiując zmienną, możemy od razu nadać jej wstępną wartość – nazywamy to inicjalizacją zmiennej. W takim przypadku korzystamy z operatora przypisania = (znak równości), po którym należy umieścić wartość bądź wyrażenie, którego wartość, po wyliczeniu, będzie przypisana do zmiennej. Znak równości i wartość umieszczamy po nazwie zmiennej, a przed średnikiem:

Nazwa pliku: InicjalizacjaZmiennej.java
public class InicjalizacjaZmiennej {
  public static void main(String[] args) {
    double pi = 3.14;
  }
}

Zdefiniowana powyżej zmienna pi ma od razu przypisaną wartość 3.14.

W jednej linii możemy zdefiniować więcej, niż jedną zmienna, poprzez oddzielenie nazw zmiennych od siebie przecinkiem:

Nazwa pliku: DwieZmienneNaRaz.java
public class DwieZmienneNaRaz {
  public static void main(String[] args) {
    int x = 5, y = -20;
  }
}

W powyższym przykładzie zdefiniowaliśmy dwie zmienne: x oraz y, a także zainicjalizowaliśmy je od razu wstępnymi wartościami, odpowiednio, 5 i -20.

Wypisywanie na ekran wartości zmiennych

Wartości zmiennych możemy wypisać na ekran za pomocą instrukcji System.out.println – wystarczy jako argument podać zmienną, a jej wartość zostanie wypisana na ekran.

Co więcej, podając komunikat do wypisania do instrukcji System.out.println, możemy także "sklejać" ze sobą wiele wartości za pomocą plusa +, dzięki czemu możemy wypisywać na ekran ciekawsze komunikaty – spójrzmy na poniższy przykład:

Nazwa pliku: WypisywanieZmiennychNaEkran.java
public class WypisywanieZmiennychNaEkran {
  public static void main(String[] args) {
    double pi = 3.14;
    double kwadratPi;
    kwadratPi = pi * pi;

    System.out.println(pi);
    System.out.println("Liczba pi to w przyblizeniu: " + pi);
    System.out.println("Liczba pi to w przyblizeniu: " + pi +
        ", a kwadrat liczby pi to " + kwadratPi );
  }
}

W powyższym przykładzie najpierw wypisujemy samą wartość zmiennej pi. Następnie, sklejamy ciąg znaków "Liczba pi to w przyblizeniu: " z wartością zmiennej pi, a na końcu wyświetlamy jeszcze jeden, bardziej złożony komunikat.

Zauważ, że w przypadku ostatniego wywołania instrukcji System.out.println, dla czytelności mogliśmy przenieść fragment komunikatu do wypisania do linii poniżej.

Ten program spowoduje wypisanie na ekran:

3.14 Liczba pi to w przyblizeniu: 3.14 Liczba pi to w przyblizeniu: 3.14, a kwadrat liczby pi to 9.8596

Przykład – liczenie pola i obwodu koła

Spójrzmy na przykład z kilkoma zmiennymi – jest to program liczący pole i obwód koła:

Nazwa pliku: ObwodPoleKola.java
public class ObwodPoleKola {
  public static void main(String[] args) {
    int promienKola = 8;
    double pi = 3.14;

    double poleKola = pi * promienKola * promienKola;
    double obwodKola = 2 * pi * promienKola;

    System.out.println("Pole kola wynosi: " + poleKola);
    System.out.println("Obwod kola wynosi: " + obwodKola);
  }
}

W wyniku działania tego programu, na ekranie zobaczymy:

Pole kola wynosi: 200.96 Obwod kola wynosi: 50.24

W powyższym programie zdefiniowaliśmy cztery zmienne:

  • promienKola
  • pi
  • poleKola
  • obwodKola

Każdej z nich przypisaliśmy wartość w momencie ich definicji, chociaż wartości te różnią się od siebie:

  • zmienne promienKola oraz pi zostały zainicjalizowane konkretnymi liczbami: 8 i 3.14,
  • zmiennym poleKola oraz obwodKola zostały przypisane nie konkretne liczby, lecz wynik obliczenia wyrażeń na pole i obwód koła. Zmiennej poleKola zostanie przypisana wartość będąca iloczynem wartości zmiennej pi dwukrotnie pomnożonej przez wartość zmiennej promienKola. Podobnie zostanie wyliczona wartość zmiennej obwodKola.

Każda zmienna ma swoją nazwę oraz typ, który definiuje, jakie wartości może przechowywać. Poznamy teraz zasady nazewnictwa obiektów w Javie, a potem dowiemy się, czym są typy podstawowe.

Dodaj komentarz

Twój adres email nie zostanie opublikowany.