Operatorii logici în Java
Operatorii logici în Java

Ce face un operator logic? Operează ceva în mod logic, corect? Operatorii logici în Java returnează o valoare de tipul boolean, care va fi ori adevărată (true), ori falsă (false).

Operatorii logici în Java sunt următorii:

  • && (operatorul ȘI/AND)
  • || (operatorul SAU/OR)
  • ! (operatorul NU/NOT sau „diferit”)

Acești operatori logici pot testa două condiții dintr-o instrucțiune if.


&& (operatorul ȘI/AND) 🔗

Operatorul ȘI (sau AND) are simbolurile && și returnează valoarea true numai dacă ambele condiții sunt adevărate.

Exemplu:

 
int a = 4, b = 8;
if ((a > 0) && (b > 0)) {
    System.out.println("Toate numerele sunt mai mari decât zero.");
} else {
    System.out.println("Se pare că nu toate numerele sunt mai mari decât zero.");
}

Ce afișează programul anterior? Pentru că avem două condiții adevărate în instrucțiunea if, se va afișa mesajul „Toate numerele sunt mai mari decât zero.”. Dar dacă una dintre condiții era falsă? Atunci se afișa mesajul din blocul de cod al lui else.

Poți să reții faptul că dacă prima condiție este falsă, atunci programul nu se va mai „chinui” să evalueze condiția următoare!


|| (operatorul SAU/OR) 🔗

Operatorul SAU (sau OR) are simbolurile || și returnează valoarea true dacă cel puțin una dintre condiții este adevărată.

Exemplu:

 
int a = 4, b = 8;
if ((a > 3) || (b < 0)) {
    System.out.println("Avem cel puțin un număr mai mare decât zero.");
} else {
    System.out.println("Nu avem niciun număr mai mare decât zero.");
}

Programul anterior intră în blocul de cod al instrucțiunii if pentru că prima condiție este adevărată și nu mai contează faptul că a doua condiție este falsă.

Am văzut mai devreme la operatorul && că nu se mai evaluează a doua condiție dacă prima este falsă; ei bine, la operatorul || nu se mai evaluează a doua condiție dacă prima este adevărată. Interesant, nu-i așa?


! (operatorul NU/NOT sau „diferit”) 🔗

Operatorul NU (sau NOT) are simbolul „!”. Ce înseamnă asta? Înseamnă că acea condiție se evaluează exact pe dos. E ca și cum ai spune „diferit de fals”, adică adevărat sau „diferit de adevărat”, adică fals.

Exemple:

 
int a = 4, b = 8;
System.out.println("!(a < b) = " + !(a < b));
System.out.println("!(a > b) = " + !(a > b));

if (!(a != b) {
    System.out.println("A nu este diferit de B");
} else {
    System.out.println("A este diferit de B");
}

Exemplul anterior afișează următoarele mesaje:

  • !(a < b) = false
  • !(a > b) = true
  • A este diferit de B

Așadar, operatorul NU (!) inversează valoarea condiției. Dacă ai o condiție falsă, atunci îți spune că este adevărată, iar dacă este adevărată, îți spune că este falsă. Practic, operatorul NU este un mincinos.

Ce zici de operatorii logici în Java? Sunt doar trei, dar au un impact la fel de mare precum „Cei trei mușchetari”. Se folosesc foarte mult în condițiile din instrucțiunile if și mai puțin în alte declarații.

Învață să fii profesionist!

By projava.ro

„Binele-i bun atunci când e bine făcut.”

Abonează-te
Primește notificări pentru
guest
0 Comentarii
Cele mai vechi
Cele mai noi Cele mai votate
Păreri...
Vezi toate comentariile