Een waarde uitrekenen: expressies
Een expressie is code die een waarde oplevert, zoals 2 + 3 of een vraag over een score. De volgorde van de berekeningen kan het antwoord veranderen.
De rekenregels lezen
Een operator is een reken- of vraagteken, zoals + of ==. De operanden zijn de waarden die hij gebruikt. Bij 2 + 3 is + de operator en zijn 2 en 3 de operanden. Unair betekent één operand; binair betekent twee.
Precedentie betekent voorrang bij het groeperen van code. Vermenigvuldigen wordt vóór optellen gegroepeerd: 2 + 3 * 4 geeft 14, terwijl (2 + 3) * 4 20 geeft.
Associativiteit beslist bij bewerkingen met dezelfde voorrang. “Links” betekent groeperen vanaf links: 8 - 3 - 1 betekent (8 - 3) - 1. “Rechts” betekent groeperen vanaf rechts, zoals bij niet niet klaar.
Een primaire expressie is een eenvoudig stuk dat een waarde oplevert, zoals een literal, naam of expressie tussen haakjes. Een postfix komt na een waarde: [0] in spelers[0] kiest een onderdeel. Aaneenschakelen betekent meerdere zulke stappen toevoegen, zoals spelers[0].naam.
Evalueren betekent de waarde bepalen. Voorrang bepaalt de groepen; evaluatievolgorde bepaalt welke delen eerst worden berekend. De callee is de functie die wordt aangeroepen. Bij verkort evalueren lees je wanneer een deel bewust wordt overgeslagen.
Van laagste naar hoogste voorrang:
| Niveau | Operatoren | Groepering |
|---|---|---|
| 1 | of |
Links. |
| 2 | en |
Links. |
| 3 | ==, != |
Links. |
| 4 | <, <=, >, >= |
Links. |
| 5 | +, - |
Links. |
| 6 | *, /, % |
Links. |
| 7 | unaire niet, +, - |
Rechts. |
| 8 | aanroep (), index [], veld . |
Aaneengeschakeld van links naar rechts. |
Haakjes veranderen de groepering: (2 + 3) * 4 is 20.
2 + 3 * 4 is 14. Schrijf niet (a == b) wanneer je een vergelijking wilt
ontkennen: niet bindt sterker dan ==.
De functiepositie wordt vóór de argumenten geëvalueerd; argumenten volgen van
links naar rechts. Ook verzamelingselementen, mapsleutel/waarde-paren en
indexexpressies volgen hun geschreven volgorde. en en of evalueren hun
rechterkant alleen wanneer nodig. Vergelijkingen worden niet automatisch
wiskundig geketend: schrijf a < b en b < c.
Gerelateerde lemma’s
Syntaxis en waarden · Ingebouwde functies · Programmeergidsen
