Operatorul condițional este un pic mai greu de explicat. Necesită o expresie care produce un rezultat boolean, pentru a determina care din două expresii va fi calculată și va avea valoarea returnată ca rezultat. Semnul său este ?:. Pentru că foloseste trei operanzi, se numește operator ternar. Semnul ? este plasat între primul și al doilea operand, în timp ce : este plasat între al doilea și al treilea.
Sintaxa completă a operatorul ?: este următoarea:
1 |
operand1 (conditie) ? operand2 : operand3 |
Mai pe românește, se traduce ca „în cazul în care operand1 este adevărat, returnează valoarea lui operand2; dacă operand1 este fals, returnează operand3”.
După cum vom vedea mai târziu, operatorul condițional este similar cu o comparație „if…else…”.
La final, să luăm un exemplu concret de utilizare a operatorului condițional:
1 2 3 4 5 |
int x = 3; int y = 9; Console.WriteLine(x > y ? "x este mai mare decât y" : "x este mai mic decât y"); Console.Read(); |
Ieșirea va fi:
Analizând codul, observați că am declarat două numere întregi, x și y, cu valorile 3, respectiv 9. Apoi, am folosit operatorul condițional pentru a verifica dacă x este mai mare decât y, și a afișa un text dacă expresia este adevărată, și un alt text, dacă este falsă.
Puteți combina acest operator cu atribuirea. De exemplu:
1 2 3 |
int x = 3; int y = 9; int z = x > y ? x : y; |
Astfel, în exemplul de mai sus, compilatorul verifică dacă x este mai mare decât y. Dacă este, returnează valoarea lui x, dacă nu, o returnează pe cea a lui y. Valoarea returnată este mai apoi atribuită variabilei z.
Conceptele explicate în această lecție sunt prezentate și vizual, ca parte a următorului videoclip:
EXERCIȚII
1. Scrieți o expresie care verifică dacă a treia cifră (de la dreapta la stânga) a unui întreg dat este 7.
Soluție
Instrucțiuni: Împărțiți numărul la 100 și salvați rezultatul într-o variabilă nouă, pe care apoi divizați-o cu 10, și luați restul. Restul împărțirii la 10 este a treia cifră a numărului original. Verificați dacă este egal cu 7.
2. Vi se oferă numărul n și poziția p. Scrieți o secvență de instrucțiuni care afișează valoarea bitului poziției p în număr (0 sau 1). Exemplu: n=35, p=5 -> 1. Alt exemplu: n=35, p=6 -> 0.
Soluție
Instrucțiuni: Folosiți operatorii pe biți și afișați rezultatul folosind operatorul condițional.
Tags: operator conditional, operatori, procesare conditională