Inkrementacja i dekrementacja | Kurs Java

Inkrementacja

Inkrementacja (ang. increment) i dekrementacja (ang. decrement) – Pracując np. z pętlami ➿ często istnieje potrzeba zwiększania ⬆️ lub zmniejszania ⬇️ wartości zmiennej o 1. Oczywiście można to zrobić w tradycyjny sposób, jednak warto przyjrzeć się bliżej dwóm jednoargumentowym operatorom, jakie oferuję Java: inkrementacji i dekrementacji.

W tym materiale chcę Ci opowiedzieć o tych dwóch rodzajach operatorów. Dowiesz się jak je używać i na co zwracać uwagę podczas ich wykorzystania.

Java – Inkrementacja i dekrementacja – wprowadzenie

Z tego materiału dowiesz się:

  • Czym jest inkrementacja?
  • Jak działa pre i post-inkrementacja?
  • Czym jest dekrementacja?
  • Jak działa pre i post-dekrementacja?

Inkrementacja i dekrementacja

Inkrementacja (ang. increment) i dekrementacja (ang. decrement) to operacje powodujące odpowiednio zwiększenie lub zmniejszenie wartości podanego argumentu o jeden. Te dwa operatory wykorzystywane są bardzo często do skrócenia zapisu np. w pętlach.

Oba operatory aktualizują wartość zmiennej do jej nowej wartości.

Inkrementacji i dekrementacji nie można stosować w przypadku:

  • stałych – nie jest możliwe modyfikowanie ich wartości,
  • wyrażeń – nie można ich aktualizować.
Zapis skrócony Pełen zapis
i++ i = i+1;
i−− i = i-1;

Inkrementacja (ang. increment)

Inkrementacja ➕➕ zwiększa wartość zmiennej o jeden i występuje w dwóch formach: post i pre.

Postinkrementacja

Postinkrementacja najpierw zwraca wartość zmiennej, a dopiero potem ją modyfikuje.

int value = 10;
System.out.println(value++);

Powyższy kod wyświetli liczbę: 10, ale po jego wykonaniu zmienna będzie miała wartość = 11.

Preinkrementacja

Preinkrementacja najpierw modyfikuje wartość i dopiero wtedy ją zwraca.

int value = 10;
System.out.println(++value);

Powyższy kod wyświetli liczbę: 11, i po jego wykonaniu zmienna value też będzie miała wartość = 11.

Dekrementacja (ang. decrement)

Dekrementacja ➖➖ zmniejsza wartość zmiennej o jeden i podobnie jak inkrementacja występuje w 2 formach: post i pre.

Postdekrementacja

Postdekrementacja najpierw zwraca wartość zmiennej, a dopiero potem ją modyfikuje.

int value = 10;
System.out.println(value--);

Powyższy kod wyświetli liczbę: 10 ale po jego wykonaniu zmienna będzie miała wartość = 9.

Predekrementacja

Predekrementacja najpierw modyfikuje wartość i dopiero wtedy ją zwraca.

int value = 10;
System.out.println(--value);

Powyższy kod wyświetli liczbę: 9 i po jego wykonaniu zmienna value też będzie miała wartość = 9.

Inkrementacja i dekrementacja – Zadanie

Praktyka czyni mistrza 💪. Na pierwszy rzut oka możesz powiedzieć, że inkrementacja i dekrementacja to proste zagadnienie. Dużo bardziej skomplikowanie robi się się gdy zaczyna się łączyć post- i preinkrementacje z kolejnością wykonywania działań. Wierz mi, to może niejedną osobę przyprawić o porządny ból głowy 🤯, dlatego zachęcam do samodzielnego rozwiązania poniższego zadania w celu weryfikacji i utrwalenia swoich umiejętności.

int a, b = 13, c;

a = ++b * 2;

c = a++ + b;

b = ++a + a-- - c++ - --c;

System.out.println("a=" + a + ", b=" + b + ", c=" + c);

Inkrementacja i dekrementacja – Wynik zadania

Wynik zadania jest ukryty poniżej. Nie psuj sobie zabawy i spróbuj najpierw sam rozwiązać to zadanie.

Rozwiązanie zadania
a=29, b=-24, c=42

Java – Inkrementacja i dekrementacja – podsumowanie

W ramach tego materiału dowiedzieliśmy się, czym jest inkrementacja i dekrementacja. Bliżej zapoznaliśmy się z rodzajami tych operatorów. 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. Pomówimy o konwersji i rzutowaniu typów.

➡ ZOBACZ 👉: Konwersja i rzutowanie typów

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!

Jak zostać programistą

2 komentarze
Share:

2 Comments

  1. zxcv says:

    Cześć. W jaki sposób najlepiej zwiększyć wartość o jeden jeśli nie używam zmiennej w obliczeniach? (czyli różnica między pre i post inkrementacją nie ma dla mnie znaczenia)

    ++i, i++ czy i += 1

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *