Tablica usporedbe
Osnova za usporedbu | & | && |
---|---|---|
Operater | To je "bitni operater". | To je "logički operator". |
procjena | Ocjenjuje i lijevu i desnu stranu izraza. | Ona samo procjenjuje lijevu stranu izraza. |
Radi na | Ona radi na "Boolean datatype", kao i djeluje na "bita". | Radi samo na "Booleovom tipu podataka". |
Koristiti | Koristi se za provjeru logičkog stanja i također se koristi za maskiranje određenih bitova kao što su paritetni bitovi. | Koristi se samo za provjeru logičkog stanja. |
Definicija & (Bitwise AND)
Ovaj operator & & koristi se kao i, logički (&) operator i operater bitova. Radi na boolean kao i binarnih podataka. Kada se & operator tada koristi kao logički & operator, rezultira "true" ako su obje strane izraza vrednovanja istinite, inače se vraća "false". Omogućuje kompajleru da procijeni obje strane izraza. To jest, čak i ako je lijeva strana izraza netočna, on procjenjuje desnu stranu izraza.
Dopustite nam da to shvatimo s primjerom.
int a = 4, b = 5; system.out.println ((a == 6) & (b ++ == 6)); system.out.println ("b =" + b); // izlaz false b = 5
Ovdje, ocjenjujući lijevu stranu izraza (a == 6), rezultira lažnim, a operator tada procjenjuje desnu stranu izraza (b ++ == 6) kao rezultat, vrijednost b prirasta.
Kada se '&' koristi kao 'bitovski operater', prvo pretvara oba operanda u binarni oblik, a zatim djeluje na njega pomoću & operator, bit-by-bit. Nakon operacije, dobiveni rezultat je u binarnom obliku, koji se zatim pretvara u decimalni. Bilo koji bit koji je 0 u bilo kojem od operanada rezultira u 0. Ako su oba bita operanada 1, tada je rezultantni bit 1. Bitovski i operatori upravlja istom tablicom istine kao i njezin logički i operator.
Pogledajmo bitnu operaciju & operator.
int a; a = 3 i 4; // 011 & 100 = 000 system.out.println ("a =" + a); // izlaz a = 0
Ovdje se decimalna vrijednost 3 i 4 inicijalno pretvaraju u njihov binarni oblik, a zatim & bitovski operator izvršava & operaciju na njima bit-po-bit. Dobiveni rezultat je u binarnom obliku, koji se zatim ponovo pretvara u decimalni oblik.
Definicija && (kratki spoj I)
Ovaj operator && djeluje potpuno kao logičan operator. Radi samo na tipu boolean podataka. Također se naziva i operator kratkog spoja. Budući da provjerava samo lijevu stranu izraza. Ako lijeva strana izraza rezultira lažnim, onda se ne muči oko procjene desne strane izraza.
Dopušta nam da razumijemo rad operatora && s primjerom.
int a = 4, b = 5; system.out.println ((a == 6) && (b ++ == 6)); system.out.println ("b =" + b); // izlaz false b = 4
Ovdje je uvjet (a == 6) lažan, operator && ne procjenjuje izraz (b ++ == 6) kao rezultat, vrijednost b se ne povećava.
Ključne razlike između & i & &
- Operator & je logičan kao i bitovski operator, budući da djeluje na oba boolea kao i na binarne podatke, dok je && operator samo logički operater jer djeluje samo na boolean tip podataka.
- Operator & ocjenjuje obje strane izraza kako bi dobio konačni rezultat, dok operator && ocjenjuje samo lijevu stranu izraza i ako ispadne lažno, on ne procjenjuje ni desnu stranu izraza.
Bilješka:
Dok ocjenjujete boolean tip podataka, oba operatora rezultiraju "true" samo ako su oba operanda točna, inače se vraća "false".
Zaključak:
Operator & & & se koristi za procjenu boolean uvjeta, dok se operator & koristi također za bitnu operaciju. Kada je potrebno procijeniti i stranu izraza, koristi se i operator i možemo koristiti && operator.