Ieteicams, 2024

Redaktora Izvēle

Starpība starp & un &&

„&” Un “&&” abi ir operatori, kurus izmanto, lai novērtētu nosacījumus. & Operators ir gan loģisks, gan bitu operators. & & Operators ir tikai loģisks operators. Galvenā atšķirība starp & & & & operatoru ir tā, ka & operators novērtē abas izteiksmes puses, bet && operators novērtē tikai vārda kreiso pusi, lai iegūtu galīgo rezultātu. Ļaujiet mums saprast citas atšķirības starp & un && ar salīdzinājuma diagrammas palīdzību.

Salīdzinājuma diagramma

Salīdzinājuma pamats&&&
OperatorsTas ir "divējāds operators".Tas ir "loģiskais operators".
NovērtējumsTā novērtē izteiksmes kreiso un labo pusi.Tas tikai novērtē izteiksmes kreiso pusi.
DarbojasTas darbojas ar "Būla datu tipu", kā arī darbojas uz "bitiem".Tas darbojas tikai "Būla datu tipā".
IzmantotIzmantojiet, lai pārbaudītu loģisko stāvokli un izmantotu arī, lai maskētu dažus bitus, piemēram, paritātes bitus.Izmanto tikai loģiskā stāvokļa pārbaudei.

& (Bitwise UN) definīcija

Šo "&" operatoru izmanto gan kā loģisku (un) operatoru, gan bitu operatoru. Tas darbojas gan būla, gan binārajos datos. Kad & operatoru izmanto kā loģisku un operatoru, tad tas rada „taisnību”, ja abas vērtēšanas izpausmes puses ir patiesas, citādi tas atgriež “nepatiesu”. Tas ļauj kompilatoram novērtēt gan izteiksmes pusi. Tas ir, pat ja izteiksmes kreisā puse ir nepatiesa, tā novērtē vārda labo pusi.

Ļauj mums to saprast ar piemēru.

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

Šeit, novērtējot izteiksmes kreiso pusi (== 6), tas rada nepatiesu, un operators pēc tam novērtē izteiksmes labo pusi (b ++ == 6), kā rezultātā palielinās b vērtības.

Kad "&" tiek izmantots kā "bitu mainīgais operators", tas vispirms pārvērš abus operandus binārajā formā un pēc tam darbojas ar to, izmantojot & operatoru, bit-by-bit. Pēc operācijas iegūtais rezultāts ir binārā formā, kas pēc tam tiek pārveidots decimāldaļā. Jebkurš bits, kas katrā no operandiem ir 0, ir 0. Ja abi operandu biti ir 1, tad iegūtais bits ir 1. Bitektīvs un operators tiek pārvaldīts ar to pašu patiesības tabulu, ko izmanto loģiskais un operators.

Apskatīsim & operatora bitu darbību.

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

Šeit decimālvērtība 3 un 4 sākotnēji tiek pārvērsta to binārajā formā, un pēc tam & bitwise operators izpilda un operē uz tiem bit-by-bit. Iegūtais rezultāts ir binārā veidā, kas pēc tam atkal tiek pārveidots decimāldaļā.

& & (Īssavienojums UN) definīcija

Šis & & operators pilnībā darbojas kā loģisks operators. Tas darbojas tikai ar būla datu tipu. To sauc arī par īssavienojuma operatoru. Tā kā tā pārbauda tikai vārda kreiso pusi. Ja izteiksmes kreisā puse rada nepatiesu, tad tas neuztraucas par izteiksmes labās puses novērtēšanu.

Ļauj mums saprast && operatora darbu ar piemēru.

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

Šeit, kā nosacījums (== 6) ir nepatiess, && operators neizvērtē izteiksmi (b ++ == 6), kā rezultātā b vērtība netiek palielināta.

Galvenās atšķirības starp & & &

  1. & Operators ir gan loģisks, gan bitu operators, jo tas darbojas gan booleans, gan bināros datus, turpretī && operators ir tikai loģisks operators, jo tas darbojas tikai ar būla datu tipu.
  2. & Operators novērtē gan izteiksmes pusi, lai iegūtu galīgo rezultātu, gan, & & operators novērtē tikai vārda kreiso pusi un, ja izrādās nepatiesa, tas pat neizvērtē vārda labo pusi.

Piezīme:

Novērtējot būla datu tipu, abi operatori “reāli” iegūst tikai tad, ja abi operandi ir taisnība, citādi tas atgriež “nepatiesu”.

Secinājums:

& & & & Operators, abi tiek izmantoti, lai novērtētu būla stāvokli, savukārt & operators tiek izmantots arī bitu režīmam. Kad mums ir nepieciešams novērtēt gan vārda pusi, gan operatoru izmanto, un mēs varam izmantot && operatoru.

Top