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.
Spis treści
- 1 Java – Inkrementacja i dekrementacja – wprowadzenie
- 2 Inkrementacja i dekrementacja
- 3 Inkrementacja (ang. increment)
- 4 Postinkrementacja
- 5 Preinkrementacja
- 6 Dekrementacja (ang. decrement)
- 7 Postdekrementacja
- 8 Predekrementacja
- 9 Inkrementacja i dekrementacja – Zadanie
- 10 Inkrementacja i dekrementacja – Wynik zadania
- 11 Java – Inkrementacja i dekrementacja – podsumowanie
- 12 Kierunek Java
- 13 20+ BONUSOWYCH materiałów z programowania
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.
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!
2 Comments
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
Cześć.
Wtedy postawiłbym na czytelność kodu.
Osobiście preferuję i++