En forelesningsbit med en mentor som en del av Codegym University-kurset. Meld deg på hele kurset.


"Jeg vil gjerne fortelle deg litt om sammenligning av variabler i Java. "

"Du kjenner allerede de enkleste sammenligningsoperatorene – mindre enn (<) og større enn (>)."

"Japp."

"Det finnes også operatorer som lik (==) og ikke lik (!=). I tillegg til mindre enn eller lik (<=) og større enn eller lik (>=)."

– Nå begynner dette å bli interessant.

"Merk at det ikke er noen =< eller => operatorer i Java!"

" =-tegnet brukes for tilordningsoperasjoner. Det er derfor to likhetstegn (==) brukes for å teste likhet. For å sjekke at variabler ikke er like , bruk !=- operatoren."

"Jeg skjønner."

"Når vi sammenligner to variabler i Java ved å bruke ==-operatoren, sammenligner vi innholdet i variablene."

"Så for primitive variabler sammenlignes verdiene deres ."

"For referansevariabler sammenlignes referansene . Anta at vi har identiske, men distinkte objekter. Fordi referanser til dem er forskjellige , vil en sammenligning vise at de ikke er like, dvs. at sammenligningsresultatet vil være usant . En sammenligning av referanser vil være sann . bare hvis begge referansene peker til samme objekt. "

"For å sammenligne objekters interne innhold bruker vi den spesielle lik metoden. Denne metoden (og alle metodene i klassen Object) legges til klassen din av kompilatoren selv om du ikke erklærer dem. La meg vise deg noen eksempler: "

Kode Forklaring
1
int a = 5;
int b = 5;
System.out.println(a == b);
Sammenlign primitive typer.
true vil vises på skjermen.
2
Cat cat1 = new Cat("Oscar");
Cat cat2 = cat1;
System.out.println(cat1 == cat2);
Sammenlign referanser .
true vil vises på skjermen.
Begge variablene lagrer referanser til det samme objektet .
3
String s = new String("Mom");
String s2 = s;
System.out.println(s == s2);
Sammenlign referanser .
true vil vises på skjermen.
Begge variablene lagrer referanser til det samme objektet .
4
Cat cat1 = new Cat("Oscar");
Cat cat2 = new Cat("Oscar");
System.out.println(cat1 == cat2);
Sammenlign referanser .
false vil vises på skjermen.
De to variablene refererer til identiske Cat-objekter, men ikke den samme.
5
String s = new String("Mom");
String s2 = new String("Mom");
System.out.println(s == s2);
Sammenlign referanser .
false vil vises på skjermen.
De to variablene refererer til identiske String-objekter, men ikke den samme.
6
String s = new String("Mom");
String s2 = new String("Mom");
System.out.println(s.equals(s2));
Sammenlign objekter .
true vil vises på skjermen.
De to variablene refererer til identiske String-objekter

"Å, jeg glemte nesten! Her er noen øvelser for deg:"