Ajánlott, 2022

Szerkesztő Választása

Különbség a & és && között

A „&” és „&&” mindkettő az üzemeltető, amelyet a feltételes utasítások értékelésére használnak. A & operátor egy logikus és egy kicsit kezelő. A && operátor tisztán logikai operátor. Az & & & & operátor alapvető különbsége az, hogy a & üzemeltető a kifejezés mindkét oldalát értékeli, míg a && operátor csak a kifejezés bal oldalát értékeli a végeredmény eléréséhez. Tegyük fel, hogy az összehasonlító táblázat segítségével megérthetjük a & & & & egyéb különbségeket.

Összehasonlító táblázat

Az összehasonlítás alapja&&&
OperátorEz egy "Bitáris operátor".Ez egy "logikai operátor".
ÉrtékelésÉrtékeli a kifejezés bal és jobb oldalát.Csak a kifejezés bal oldalát értékeli.
MűködikMűködik a "Boolean datatype" -on, valamint "bit" -en működik.Csak "Boole-adattípus" -on működik.
HasználatHasználja a logikai állapot ellenőrzését és bizonyos bitek, például paritásbitek maszkolására.Csak logikai állapot ellenőrzésére szolgál.

A & (bitenkénti és) meghatározása

Ezt a „&” operátort használják mind logikai (és) operátorként, mind bit-kezelőként. Boolean és bináris adatokon is működik. Amikor az & operátor logikai és operátorként kerül felhasználásra, akkor „igaz” -ot eredményez, ha az értékelés kifejezésének mindkét oldala igaz, máskülönben „hamis”. Lehetővé teszi a fordító számára, hogy értékelje a kifejezés mindkét oldalát. Ez azt jelenti, hogy ha a kifejezés bal oldala hamis, akkor a kifejezés jobb oldalát értékeli.

Megértjük ezt egy példával.

 int a = 4, b = 5; system.out.println ((a == 6) & (b ++ == 6)); system.out.println ("b =" + b); // kimenet hamis b = 5 

Itt, a kifejezés bal oldalának (= = 6) kiértékelésénél hamis, az & operátor ezután a kifejezés jobb oldalát (b ++ == 6) értékeli, a b lépések értékét.

Amikor „&” -et használunk „bit bit operátor” -ként, akkor először mindkét operandumot bináris formává alakítja át, majd a & operator, bit-by-bit segítségével működik. A művelet után a kapott eredmény bináris formában van, amelyet ezután tizedesre konvertál. Bármely bit, amely az egyik operandumban 0, 0-nak adódik. Ha mindkét operandus bit 1, akkor az eredményül kapott bit 1. A bitikus és operátor ugyanaz az igazságtábla, mint a logikai és operátor.

Lássuk a & operátor bitenkénti működését.

 int a; a = 3 és 4; // 011 & 100 = 000 system.out.println ("a =" + a); // kimenet a = 0 

Itt a 3-as és 4-es decimális értéket kezdetben bináris formává alakítják át, majd a & bit-es operátor végrehajtja őket a bit-by-biten. A kapott eredmény bináris formában van, amelyet ezután ismét decimális formává alakítanak át.

A && (rövidzárlat és) rövidítése

Ez az & & operátor teljesen logikai operátorként működik. Csak a logikai adattípuson működik. Rövidzár-kezelőnek is nevezik. Mivel csak a kifejezés bal oldalát ellenőrzi. Ha a kifejezés bal oldala hamis, akkor nem zavarja a kifejezés jobb oldalának értékelését.

Lehetővé teszi, hogy megértsük a && operátor működését egy példával.

 int a = 4, b = 5; system.out.println ((a == 6) && (b ++ == 6)); system.out.println ("b =" + b); // kimenet hamis b = 4 

Itt, mint a feltétel (a == 6) hamis, a && operátor nem értékeli a kifejezést (b ++ == 6), ezért a b értéke nem növekszik.

Főbb különbségek a & és

  1. A & operátor egy logikus, valamint egy bitenkénti operátor, mivel mind a booleán, mind a bináris adatokon működik, míg a && operátor csak logikai operátor, mivel csak logikai adattípuson működik.
  2. A & operátor a kifejezés mindkét oldalát értékeli, hogy megkapja a végeredményt, míg a && operátor csak a kifejezés bal oldalát értékeli, és ha hamisnak bizonyul, akkor még a kifejezés jobb oldalát sem értékeli.

Jegyzet:

A logikai adattípus értékelése során mindkét operátor csak akkor igaz, ha mindkét operand igaz, máskülönben „hamis”.

Következtetés:

A & & & & operátor mindkettőt a logikai állapot értékelésére használják, míg a & operátort is használják a bitenkénti működéshez. Amikor a kifejezés mindkét oldalát meg kell vizsgálnunk, a & operátort másként használjuk, és a && operátort használhatjuk.

Top