Võrdluskaart
Võrdluse alus | & | & & |
---|---|---|
Operaator | See on "kahekordne operaator". | See on "loogiline operaator". |
Hindamine | See hindab nii vasakut kui ka paremat külge. | See hindab ainult sõna vasakpoolset külge. |
Töötab | See töötab nii "Boole'i andmetüübil" kui ka "bittidel". | See töötab ainult "Boole'i andmetüübis". |
Kasutage | Kasutage 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 & & &
- & 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.
- 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;