Operator Precedence in programmeertalen


  Share  
|


Operator voorrang ontcijfert de volgorde waarin berekeningen in een expressie optreden. Kijkend naar de rekenvoorbeeld 3 + 4 * 6, kan het antwoord worden berekend door toevoeging van 3 en 4, die geeft 7, 7 en vervolgens te vermenigvuldigen met 6, waarbij het antwoord van 42. Toch kunnen we ook vermenigvuldigen 4 en 6, eerste, die 24 geeft, en voeg vervolgens op de 3, het geven van een antwoord van 27. De vermenigvuldiging operator (*) daadwerkelijk heeft een hogere prioriteit dan de toevoeging operator (+). Dit betekent dat de numerieke expressie 3 + 4 * 6 daadwerkelijk zou het antwoord 27 en geven niet 42, het uitvoeren van de vermenigvuldiging eerst en dan de toevoeging. Om te bepalen in welke volgorde berekeningen voorkomen kunt u eenvoudig haakjes gebruiken. Als we de toevoeging berekening wilt worden uitgevoerd voordat de vermenigvuldiging, kunnen we voegen de toevoeging berekening tussen haakjes (bv., (3 + 4) * 6, dat geeft ons het antwoord 42). Bij twijfel is het raadzaam dat u haakjes om de volgorde van de werkzaamheden te specificeren. Het is vaak beter om haakjes te gebruiken toch om uw code begrijpelijker te maken.

De volgende tabel toont een lijst met de exploitant exploitanten met een hogere prioriteit aan de bovenkant en thoses met een lagere voorrang aan de onderkant. De tabel toont ook de associativiteit van gegroepeerde operatoren die zijn gelijke voorrang. De associativiteit ontcijfert de volgorde van de exploitanten van gelijke voorrang. Bijvoorbeeld, divisie heeft een "links" associativiteit, die u kunt beschouwen als zijnde links naar rechts. Dit betekent dat de uitdrukking 24 / 4 / 2 zou hetzelfde zijn als (24 / 4) / 2, 3 evenaren, en zou niet hetzelfde zijn als de uitdrukking 24 / (4 / 2), die een resultaat van 12 geeft. Hier is de exploitant voorrang tafel en de associativiteit van de exploitanten van gelijke voorrang.

Operator Groep Associativiteit
(), [],., Postfix + +, postfix -- Links
+ Unair, - unair, + + prefix, - prefix, ~,! Rechts
nieuwe, (gegoten) Links
*, /,% Links
+, -- Links
<<,>>,>>> Links
<, <=,>,> =, Instanceof Links
==,! = Links
& Links
^ Links
| Links
& & Links
| | Links
?: Links
=, *=, / =,% =, + =, -=, <<=,>> =, >>>=, & =, | =, ^ = Rechts

Terugdenkend aan de twee voorbeelden die we hebben gekeken naar tot nu toe, kunnen we eerst zien dat de vermenigvuldiging operator hoger is dan op de tafel naast de operator, wat betekent dat heeft een hogere voorrang. We kunnen ook zien dat de verdeling exploitant heeft een links (van links naar rechts) associativiteit, zoals we eerder besproken.

een artikel ingediend door Gabriela Perez C.


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions