Preporučeno, 2019

Izbor Urednika

Razlika između & i & &

Oba "&" i "&&" su operateri koji se koriste za procjenu uvjetnih naredbi. Operator & je logičan kao i bitni operator. Operator && je čisto logički operator. Osnovna razlika između operatora & i & je u tome što operator & procjenjuje obje strane izraza, dok operator && ocjenjuje samo lijevu stranu izraza kako bi dobio konačni rezultat. Dopustite nam da shvatimo ostale razlike između & i && pomoću usporedne tablice.

Tablica usporedbe

Osnova za usporedbu&&&
OperaterTo je "bitni operater".To je "logički operator".
procjenaOcjenjuje i lijevu i desnu stranu izraza.Ona samo procjenjuje lijevu stranu izraza.
Radi naOna radi na "Boolean datatype", kao i djeluje na "bita".Radi samo na "Booleovom tipu podataka".
KoristitiKoristi 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 & &

  1. 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.
  2. 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.

Top