Rekomenduojama, 2020

Redaktoriaus Pasirinkimas

Skirtumas tarp ir ir

„&“ Ir „&&“ abu yra operatoriai, naudojami vertinant sąlygines ataskaitas. & Operatorius yra logiškas ir bitinis operatorius. & & Operatorius yra tik loginis operatorius. Pagrindinis ir „& &“ operatoriaus skirtumas yra tas, kad & operatorius vertina abi išraiškos puses, o && operatorius vertina tik kairiąją išraišką, kad gautų galutinį rezultatą. Leiskite mums suprasti kitus skirtumus tarp & ir & & su palyginimo lentelės pagalba.

Palyginimo diagrama

Palyginimo pagrindas&&&
operatoriusTai yra „dvigubas operatorius“.Tai „loginis operatorius“.
VertinimasJis vertina tiek kairiąją, tiek dešinę pusę.Jis tik įvertina kairiąją išraišką.
VeikiaJis veikia „Būlio duomenų tipu“, taip pat veikia „bitais“.Jis veikia tik „Būlio duomenų tipu“.
NaudokiteNaudokite, kad patikrintumėte loginę būklę ir taip pat užmaskuotumėte tam tikrus bitus, pvz., Pariteto bitus.Naudojama tik loginei būklei patikrinti.

& (Bitų ir) apibrėžimas

Šis „&“ operatorius naudojamas kaip loginis (ir) operatorius ir bitų operatorius. Jis veikia kaip loginiai ir dvejetainiai duomenys. Kai & operatorius yra naudojamas kaip loginis ir operatorius, tai reiškia „tiesa“, jei abi vertinimo pusės pusės yra teisingos, kitaip ji grąžina „klaidingą“. Tai leidžia kompiliatoriui įvertinti abu išraiška. Tai reiškia, kad net jei kairė raiškos pusė yra klaidinga, ji vertina dešinę raiškos pusę.

Leiskite mums tai suprasti pavyzdžiu.

 int a = 4, b = 5; system.out.println ((a == 6) & (b ++ == 6)); system.out.println ("b =" + b); // išvesties klaidinga b = 5 

Čia, vertindami kairiąją išraišką (== 6), jis sukelia melagingą, tada & operatorius įvertina dešinę raiškos pusę (b ++ == 6), o b pakopų reikšmę.

Kai „&“ naudojamas kaip „bitų operatorius“, jis pirmiausia paverčia abu operandus į dvejetainę formą ir po to veikia „B“ operatoriumi. Po operacijos gautas rezultatas yra dvejetainėje formoje, kuri vėliau konvertuojama į dešimtainę. Bet kuris bitas, kuris bet kuriame iš operandų yra 0, duoda 0. Jei abu operandų bitai yra 1, tada gaunamas bitas yra 1. Bitinis ir operatorius yra valdomas ta pačia tiesos lentele kaip ir jos loginis ir operatorius.

Pažiūrėkime ir operatoriaus bitų veikimą.

 int a; a = 3 ir 4; // 011 ir 100 = 000 system.out.println ("a =" + a); // išėjimas a = 0 

Čia dešimtainė reikšmė 3 ir 4 iš pradžių paverčiama į jų dvejetainę formą, o tada „bitų operatorius“ atlieka & operaciją ant jų bitų. Gautas rezultatas yra dvejetainis, kuris vėl konvertuojamas į dešimtainę formą.

& & (Trumpojo jungimo ir) apibrėžimas

Šis & & operatorius visiškai veikia kaip logiškas operatorius. Jis veikia tik pagal loginį duomenų tipą. Jis taip pat vadinamas trumpojo jungimo operatoriumi. Kadangi ji tikrina tik kairiąją raiškos pusę. Jei kairė raiškos pusė sukelia melagingą, tuomet ji nerimauja vertinant išraišką dešinėje.

Leisime suprasti && operatoriaus darbą su pavyzdžiu.

 int a = 4, b = 5; system.out.println ((= = 6) && (b ++ == 6)); system.out.println ("b =" + b); // išvesties klaidinga b = 4 

Čia, kaip sąlyga (== 6) yra neteisinga, && operatorius neišnagrinėja išraiškos (b ++ == 6), todėl b vertė ne didėja.

Pagrindiniai skirtumai tarp ir ir

  1. & Operatorius yra logiškas ir bitinis operatorius, nes jis veikia tiek boolejuose, tiek dvejetainiuose duomenyse, o && operatorius yra tik logiškas operatorius, nes jis veikia tik loginiu duomenų tipu.
  2. & Operatorius įvertina tiek išraiškos pusę, kad gautų galutinį rezultatą, o && operatorius vertina tik kairę išraišką ir, jei pasirodo klaidinga, netgi netikslina išraiškos dešinėje pusėje.

Pastaba:

Vertindami loginį duomenų tipą, abu operatoriai „tikra“ tik tuomet, kai abu operandai yra teisingi, kitaip jis grąžina „klaidingą“.

Išvada:

„&“ Ir „& &“ operatorius abu naudojami vertinant loginę būseną, o „operatorius“ taip pat naudojamas bitų veikimui. Kai reikia įvertinti tiek išraišką, tiek naudotoją, ir kitą, mes galime naudoti && operatorių.

Top