Soovitatav, 2020

Toimetaja Valik

Erinevus & & & &

Mõlemad on „&” ja „&&” operaatorid, mida kasutatakse tingimuslike avalduste hindamiseks. & Operaator on nii loogiline kui ka bitiline operaator. & & Operaator on puhtalt loogiline operaator. Põhiline erinevus & & & & operaatori vahel on see, et & operaator hindab väljenduse mõlemat poolt, samas kui && operaator hindab lõpptulemuse saamiseks ainult sõna vasakpoolset osa. Mõelgem teiste & ja & & vaheliste erinevuste vahel võrdluskaardi abil.

Võrdluskaart

Võrdluse alus&& &
OperaatorSee on "kahekordne operaator".See on "loogiline operaator".
HindamineSee hindab nii vasakut kui ka paremat külge.See hindab ainult sõna vasakpoolset külge.
TöötabSee töötab nii "Boole'i ​​andmetüübil" kui ka "bittidel".See töötab ainult "Boole'i ​​andmetüübis".
KasutageKasutage loogilise tingimuse kontrollimiseks ja ka teatud bittide, näiteks pariteedi bittide varjamiseks.Kasutatakse ainult loogilise seisundi kontrollimiseks.

& (Kahekordne ja) määratlus

Seda & & # x201C; operaatorit kasutatakse nii loogilise (&) operaatorina kui ka bituudi operaatorina. See töötab nii boolean kui ka binaarandmetel. Kui & operaatorit kasutatakse siis loogiliseks ja operaatoriks, siis on tulemuseks „tõene”, kui mõlemad hindamise väljenduse pooled on tõesed, muidu tagastab see „vale”. See võimaldab kompilaatoril hinnata väljenduse mõlemat külge. See tähendab, et isegi kui väljendi vasakpoolne külg on vale, hindab see avaldise paremat külge.

Võimaldab meil seda eeskujuga mõista.

 int a = 4, b = 5; system.out.println ((a == 6) & (b ++ == 6)); system.out.println ("b =" + b); // väljund vale b = 5 

Siin, väljendades ekspressiooni vasakpoolset külge (== 6), annab see tulemuseks vale, ning seejärel hindab & operaator väljenduse paremat poolt (b ++ == 6), b-sammude väärtust.

Kui "&" kasutatakse "bitise operaatorina", teisendab see mõlemad operandid binaarseks vormiks ja seejärel kasutab seda & operaator, bit-by-bit. Pärast operatsiooni on saadud tulemus binaarses vormis, mis seejärel konverteeritakse kümnendkohani. Iga bitt, mis on kummaski operandis 0, annab tulemuseks 0. Kui mõlemad operandide bittid on 1, siis on saadud bit 1.

Vaatame & operaatori bituumenit.

 int a; a = 3 ja 4; // 011 & 100 = 000 system.out.println ("a =" + a); // väljund a = 0 

Siin teisendatakse kümnendväärtus 3 ja 4 esialgu oma binaarseks vormiks ja seejärel & bitwise operaator täidab & operatsiooni nendel bitidel. Saadud tulemus on kahekomponentne, mis seejärel konverteeritakse uuesti kümnendvormis.

& & (Lühis ja) lühikirjeldus

See & & operaator töötab täiesti loogilise operaatorina. See toimib ainult boolean-tüüpi andmetel. Seda nimetatakse ka lühise operaatoriks. Kuna see kontrollib ainult sõna vasakpoolset külge. Kui avaldise vasakpoolne pool annab vale, siis ei muretse selle väljenduse parema poole hindamine.

Võimaldab meil mõista && operaatori tööd näidisega.

 int a = 4, b = 5; system.out.println ((= = 6) && (b ++ == 6)); system.out.println ("b =" + b); // väljund vale b = 4 

Siin, kui tingimus (a == 6) on vale, ei hinda && operaator väljendit (b ++ == 6), kuna b väärtus ei suurene.

Peamised erinevused & & &

  1. & Operaator on nii loogiline kui ka bituentne operaator, kuna see töötab nii booleanides kui ka binaarandmetes, samas kui && operaator on ainult loogiline operaator, kuna see toimib ainult boole tüüpi andmetel.
  2. Lõpptulemuse saamiseks hindab & operaator nii väljenduse külge, kui ka && operaator hindab ainult väljenduse vasakut külge ja kui see osutub valeks, siis isegi ei mõõda ekspressiooni paremat külge.

Märge:

Boole-i andmetüübi hindamisel saadavad mõlemad operaatorid „tõsi“ ainult siis, kui mõlemad operandid on tõesed, muidu tagastab see „vale”.

Järeldus:

& & & & Operaatorit, mõlemat kasutatakse, et hinnata booleana seisukorda, samas kui & operaatorit kasutatakse ka bitivõtmiseks. Kui me vajame nii väljenduse külje hindamist, kui & amp;

Top