Operatorul de incrementare ++
Sursă imagine: Mike Hindle on Unsplash

Ce face operatorul de incrementare? Incrementează valoarea variabilei. Cu cât? Dacă avem variabila num++, atunci incrementarea va fi cu 1.

În orice limbaj de programare vei găsi operatorul de incrementare ++. Exact așa, cu două semne plus (++).

Există două tipuri de incrementări, fiecare cu un rol foarte important de care trebuie să ținem cont:

  • incrementare cu prefix: ++num
  • incrementare cu postfix: num++

Ce face incrementarea cu prefix? Întâi se incrementează valoarea variabilei, iar apoi te poți folosi de variabilă cu noua valoare.

Ce face incrementarea cu postfix? Întâi se folosește valoarea curentă a variabilei, iar apoi se incrementează.

Hai să dau și câteva exemple. Evident că variabila va fi incrementată în ambele cazuri, doar că trebuie să fim atenți când anume se întâmplă acest lucru.

Exemplu de incrementare cu prefix

1| variabila num = 10;
2| ++num; // în momentul acesta, variabila num a fost incrementată și are valoarea 11
3| afiseaza num; // se afișează valoarea 11
4| afiseaza ++num; // se incrementează valoarea cu 1, apoi se afișează valoarea 12
5| afiseaza ++num; // se incrementează valoarea 1, apoi se afișează valoarea 13

Am scris un mic cod, un fel de pseudo-cod… Variabila num a fost declarată, apoi inițializată cu 10. După aceea s-a incrementat cu 1. Ce valoarea are num acum? 11. Pe rândul 4 se incrementează din nou variabila num, deci își schimbă valoarea, iar afișarea va fi 12, nu 11. În final, pe rândul 5, se afișează valoarea 13 pentru că noi deja ținem minte că valoarea num a fost 12, iar acum o afișăm după incrementare…

Exemplu de incrementare cu postfix

1| variabila num = 4;
2| afiseaza num++; // se afișează valoarea 4, dar ținem cont că apoi se va incrementa cu 1
3| afiseaza num; // se afișează valoarea 5 (am ținut minte de la rândul 2 că num va deveni 5) 
4| num++; // se incrementează valoarea num, deci acum va fi 6
5| afiseaza num; // se afișează valoarea 6
6| afiseaza num++; // se afișează valoarea 6, apoi ținem cont că se incrementează
7| afiseaza num; // se afișează valoarea 7, deci la rândul 6 num a fost afișat ca fiind 6, dar ulterior a fost incrementat și ținem cont de asta...

Ce se întâmplă în exemplul anterior? Păi totul este simplu. Se definește variabila num, i se atribuie valoarea 4, pe rândul 2 se afișează valoarea 4 (apoi se incrementează), apoi, pe rândul 3 se afișează valoarea 5 (ținem cont că ieșirea din rândul 2 a dat-o pe num ca fiind egală cu 5), suntem atenți că se produce o incrementare pe rândul 4, se afișează valoarea 6 (așa cum e normal), pe rândul 6 se afișează valoarea 6 (apoi se trece la incrementare), iar pe ultimul rând se afișează valoarea 7, valoare dată de la finalul rândului 6.

Ce zici? Te-ai prins cum funcționează operatorul de incrementare cu prefix și cu postfix? Vei găsi în orice interviu pe o poziție de inginer (software/hardware) sau de programator, un exercițiu de tipul ăsta. Să nu mai pomenesc cât de esențial este să știi conceptul de față în viața reală de programator… Dar e simplu, ai nevoie doar de antrenament și apoi totul e limpede și clar.

Îți las mai jos 3 probleme și te rog să scrii într-un comentariu ce afișează fiecare.

Problema 1

1| variabila num = 2;
2| num++;
3| ++num;
4| afiseaza num;

Problema 2

1| variabila num = 3;
2| ++num;
3| afiseaza num++;

Problema 3

1| variabila num = 1;
2| num++;
3| ++num;
4| num++;
5| ++num;
6| afiseaza num++ + ++num;

Problema 3 este un pic mai dificilă, dar se poate face un calcul și cu acei operatori.

Dacă nu ai înțeles, scrie în comentarii ce anume vrei să pricepi și voi încerca să te ajut.

Învață să fii profesionist!


(De interes) Vezi ce face operatorul de decrementare (- -) AICI.


Sursă imagine: Mike Hindle on Unsplash

By projava

#JAVA

Abonează-te
Primește notificări pentru
guest
0 Comentarii
Păreri...
Vezi toate comentariile