Zmienne
2017-03-23 / Krzysztof Kozłowski

Co to jest zmienna i do czego służy. Przykłady zmiennych.

1
String ulubionyJezyk = "Java";

Zmienna to podstawowa konstrukcja programistyczna, dzięki której możemy pamiętać różne wartości wyliczane przez program. Jak sama nazwa (“zmienna“) wskazuje pamiętaną wartość możemy nieustannie zmieniać w trakcie wykonywania programu.

Zmienna to takie pudełeczko do pamiętania wartości. Przykładem zmiennych są pola w klasie. Pola w klasie to nic innego jak zmienne, tylko w odniesieniu do klas przyjęło się je nazywać polami.

Definiowanie (deklarowanie) zmiennej

Definiując pola musieliśmy określić ich typ, by wiadomo było, jaki rodzaj informacji przechowują (liczba, łańcuch znaków, wartość logiczna itp.). Tak samo jest w przypadku zmiennych. Oprócz nazwy zmiennej musimy określić ich typ.

1
typ nazwaZmiennej;

Określenie typu zmiennej znajduje się przed jej nazwą. W dokumentacji Javy znajduje się wpis, gdzie wymienione są wszystkie typy danych dostępne w Javie. Na kilku innych stronach w przystępny sposób pokazano, jakie wartości zmiennych są dla danego typu danych:

Nazwy zmiennych

Jeśli chodzi o nazwę zmiennej, to w zasadzie może ona być dowolna. Istnieją oczywiście przyjęte zasady, jak nazwy powinny być budowane i jakich znaków nie powinny zawierać.

Ważne jedynie, by jako nazwy zmiennej nie użyć któregoś ze słów kluczowych, czyli takich zarezerwowanych przez Javę do różnych celów. Listę słów kluczowych w Javie dostępna jest w dokumentacji Javy na stronie firmy Oracle.

Na nasze potrzeby możemy dla uproszczenia przyjąć tylko kilka założeń:

  • nazwa zmiennej zazwyczaj jest rzeczownikiem, np. liczbaDrzwi,
  • nazwa zmiennej powinna dobrze opisywać to, co przechowuje. Widząc w kodzie zmienną o nazwie xyz trudno przecież stwierdzić, co to za zmienna przechowuje i do czego służy,
  • wyjątkiem od powyższej zasady mogą być zmienne, które pełnią funkcję licznika w pętli. W tym przypadku często używać będziemy zmiennych o krótkich nazwach, np: i, j, k, m, n itd.
  • jeśli nazwa zmiennej składa się z kilku wyrazów, to poza pierwszym wyrazem każdy kolejny zaczynamy wielką literą, np. bardzoDlugaNazwaZmiennej. Ten sposób nazywania zmiennych nazywa się camelCase (ang. camel – wielbłąd), bo z wyglądu przypomina wielbłąda z garbami.

Przypisanie wartości do zmiennej

Zmienną po to definiujemy, by przechowywać w niej jakieś wartości. Poniżej przykład jak to zrobić. Można to zrobić na dwa sposoby.

Albo najpierw definiujemy zmienną, a w następnej linii przypisujemy do niej wartość:

1
2
int liczbaDrzwi;
liczbaDrzwi = 4;

albo w jednej linii od razu definiujemy i nadajemy zmiennej wartość:

1
int liczbaDrzwi = 4;

Nadawanie początkowej wartości od razu podczas definiowanie zmiennej nazywane jest często *inicjalizacją zmiennej, a znak równości w zapisie int liczbaDrzwi = 4 nazywamy instrukcją przypisania lub po prostu przypisaniem.

Zasięg zmiennej

Raz zadeklarowana zmienna nie będzie widoczna w każdym miejscu naszego programu. Każda zmienna ma swój tzw. zasięg, w którym jest ona widoczna i w którym można jej używać. Zasięg zmiennych jest skomplikowanym tematem, dlatego na tym etapie możemy przyjąć, że zasięg danej zmiennej wyznaczają nawiasy klamrowe { }, w których się znajduje. Na przykład:

1
2
3
4
5
6
int liczbaDrzwi = 4;
if (liczbaDrzwi > 2) {
boolean czyAutoMaDuzoDrzwi = true;
}

// w tym miejscu zmienna liczbaDrzwi będzie dostępna ale zmiennej czyAutoMaDuzoDrzwi nie będzie już widać

Zadeklarowaliśmy zmienną o nazwie liczbaDrzwi, a następnie w instrukcji warunkowej IF kolejną zmienną o nazwie czyAutoMaDuzoDrzwi. Pierwsza zmienna będzie dostępna zawsze, ale ta druga (czyAutoMaDuzoDrzwi) tylko wewnątrz instrukcji IF, czyli wewnątrz nawiasów klamrowych, w których została zadeklarowana. Po wykoaniu instrukcji warunkowej IF zmienna nie będzie dostępna, tak naprawdę przestanie istnieć.

Zmiana wartości zmiennej

Powyżej napisałem, że wartość zmiennej może w każdej chwili zostać zmieniona. Robi się to bardzo łatwo, przypisując zmiennej nową wartość:

1
2
3
int iloscDrzwi = 4;
iloscDrzwi = 6;
iloscDrzwi = 12;
PermaLink: https://java.kozlowski.photos/2017/03/zmienne/