Un fragment de prelegere cu un mentor ca parte a cursului Universității Codegym. Înscrie-te la cursul complet.


„Aș dori să vă spun puțin despre compararea variabilelor în Java.

„Cunoașteți deja cei mai simpli operatori de comparație – mai puțin decât (<) și mai mare decât (>).”

"Da."

„Există și operatori ca egal cu (==) și nu egal cu (!=). La fel și mai mic sau egal cu (<=) și mai mare sau egal cu (>=).”

„Acum asta devine interesant”.

„Rețineți că nu există operatori =< sau => în Java!”

" Semnul = este folosit pentru operațiunile de atribuire. De aceea sunt folosite două semne egale (==) pentru a testa egalitatea. Pentru a verifica dacă variabilele nu sunt egale , utilizați operatorul != ."

"Înțeleg."

„Când comparăm două variabile în Java folosind operatorul ==, comparăm conținutul variabilelor.”

„Astfel, pentru variabilele primitive , valorile lor sunt comparate .”

„Pentru variabilele de referință , referințele sunt comparate . Să presupunem că avem obiecte identice, dar distincte. Deoarece referințele la ele sunt diferite , o comparație va arăta că nu sunt egale, adică rezultatul comparației va fi fals . O comparație a referințelor va fi adevărată. numai dacă ambele referințe indică același obiect.

„Pentru a compara conținutul intern al obiectelor, folosim metoda special equals . Această metodă (și toate metodele clasei Object) sunt adăugate la clasa dumneavoastră de către compilator chiar dacă nu le declarați. Permiteți-mi să vă arăt câteva exemple: "

Cod Explicaţie
1
int a = 5;
int b = 5;
System.out.println(a == b);
Comparați tipurile primitive .
true va fi afișat pe ecran.
2
Cat cat1 = new Cat("Oscar");
Cat cat2 = cat1;
System.out.println(cat1 == cat2);
Comparați referințe .
true va fi afișat pe ecran.
Ambele variabile stochează referințe la același obiect .
3
String s = new String("Mom");
String s2 = s;
System.out.println(s == s2);
Comparați referințe .
true va fi afișat pe ecran.
Ambele variabile stochează referințe la același obiect .
4
Cat cat1 = new Cat("Oscar");
Cat cat2 = new Cat("Oscar");
System.out.println(cat1 == cat2);
Comparați referințe .
false va fi afișat pe ecran.
Cele două variabile fac referire la obiecte Cat identice, dar nu la același.
5
String s = new String("Mom");
String s2 = new String("Mom");
System.out.println(s == s2);
Comparați referințe .
false va fi afișat pe ecran.
Cele două variabile fac referire la obiecte String identice, dar nu la același.
6
String s = new String("Mom");
String s2 = new String("Mom");
System.out.println(s.equals(s2));
Compara obiecte .
true va fi afișat pe ecran.
Cele două variabile fac referire la obiecte String identice

"Oh, aproape că am uitat! Iată câteva exerciții pentru tine:"