Operatorul de decrementare - -
Sursă imagine: Martin Sanchez on Unsplash

Ce face operatorul de decrementare? Decrementează valoarea variabilei. Cum așa? Uite-așa… Operatorul – – decrementează valoarea variabilei cu 1. De exemplu, dacă avem variabila num = 1, atunci când folosim operatorul de decrementare, valoarea lui num – – va fi 0 (zero).

Există două tipuri de decrementări pe care le vei găsi în orice limbaj de programare (care se respectă):

  • decrementarea cu prefix: – – num
  • decrementarea cu postfix: num – –

Oare ce face decrementarea cu prefix? Întâi scade 1 din valoarea variabilei, apoi se folosește de variabilă.

Oare ce face decrementarea cu postfix? Întâi folosește variabila, apoi după ce s-a folosit de ea, îl scade pe 1 din valoarea variabilei.

Hai să vezi și câteva exemple pentru a înțelege mai exact…

Exemplu de decrementare cu prefix

1| variabila num = 1; // definim variabila num

2 | afiseaza --num;  // se afișează valoarea 0 pentru că se face decrementarea, apoi se folosește

3| afiseaza num; // se afișează valoarea 0 (de la rândul anterior) 

4| afiseaza --num; // se face decrementarea și se afișează valoarea -1

5| --num; // valoarea num este acum -2

6| afiseaza --num; // se decrementează, apoi se afișează valoarea -3 

Ce zici de exemplul anterior? Întâi s-a definit variabila num; pe rândul al 2-lea se face întâi decrementarea, apoi se afișează valoarea 0; pe rândul al 3-lea se afișează valoarea lui num, care este 0 (deci nu s-a intervenit cu nimic asupra ei…); pe rândul al 4-lea se face decrementarea, apoi se afișează valoarea -1; pe rândul al 5-lea se face doar decrementarea (num = -2); pe ultimul rând se face decrementarea, apoi se afișează valoarea -3. Cum ți se pare? Totul e logic.

Exemplu de decrementare cu postfix

1| variabila num = 10; // se definește variabila num 
2| num--; // variabila num se decrementează și va avea valoarea 9 
3| afiseaza num--; // se afișează valoarea 9, apoi se decrementează (deci num = 8) 
4| afiseaza num--; // se afișează valoarea 8, apoi se decrementează (acum num = 7) 
5| num--; // num = 6
6| afiseaza num--; // se afișează valoarea 6, apoi se decrementează (num = 5) 
7| afiseaza num; // se afișează valoarea 5 

Hai să vedem ce face codul anterior (pseudo-codul). Definim variabila num, căruia îi atribuim valoarea 10; pe rândul al 2-lea se face decrementarea (num = 9); pe rândul al 3-lea se afișează valoarea 9, apoi se face decrementarea (num = 8); pe rândul al 4-lea se afișează valoarea 8, apoi se decrementează (num = 7); pe rândul al 5-lea se face doar decrementarea (ținem minte că num = 6); pe rândul al 6-lea se afișează valoarea 6, apoi se decrementează (num = 5); pe ultimul rând se afișează valoarea 5. Hai că nu e greu… Fii atent la fiecare linie și încearcă să gândești logic. Orice întrebare ai, te rog să o scrii într-un comentariu. Mulțumesc!

Așadar, ține minte că operatorul de decrementare (- -) scade cu 1 valoarea variabilei și că avem două cazuri: decrementarea cu prefix, unde folosim variabila direct cu noua valoare decrementată și decrementarea cu postfix, unde folosim valoarea normală a variabilei, apoi ținem minte că se decrementează… Cazurile acestea le observi foarte bine la afișare.

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

Problema 1

1| variabila num = 2;
2| num--;
3| afiseaza num;
4| --num;
5| afiseaza num;

Problema 2

1| variabila num = 8;
2| afiseaza num--;
3| --num;
4| num--;
5| afiseaza --num;
6| afiseaza num--;
7| afiseaza num;

Problema 3

1| variabila num = 100;
2| num--;
3| afiseaza num--;
4| afiseaza --num;
5| afiseaza num;
6| --num;
7| num--;
8| afiseaza num--;
9| afiseaza --num;
10| afiseaza num;

Te invit să lași un comentariu în care să explici ce se afișează la fiecare problemă.

Dacă e ceva ce nu ai înțeles, scrie te rog în comentarii și voi încerca să-ți explic ca să-ți fie totul clar.

Învață să fii profesionist!


(De interes) Vezi ce face operatorul de incrementare (++) AICI.


Sursă imagine: Martin Sanchez on Unsplash

By projava

#JAVA

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