Oefening: waarden verhogen en verlagen

Voltooid

De laatste basisbewerkingen die u in deze module leert, is het verhogen en verlagen van waarden met behulp van speciale operatoren die combinaties van symbolen zijn.

Verhogen en verlagen

Vaak moet u waarden verhogen en/of verlagen, met name wanneer u luslogica of code schrijft die interactie heeft met een gegevensstructuur.

De += operator voegt de waarde aan de rechterkant van de operator toe en wijst deze toe aan de waarde links van de operator. Regels twee en drie in het volgende codefragment zijn dus hetzelfde:

int value = 0;     // value is now 0.
value = value + 5; // value is now 5.
value += 5;        // value is now 10.

De ++ operator incrementeert de waarde van de variabele met 1. Regels twee en drie in het volgende codefragment zijn dus hetzelfde:

int value = 0;     // value is now 0.
value = value + 1; // value is now 1.
value++;           // value is now 2.

Dezelfde technieken kunnen worden gebruikt voor aftrekken, vermenigvuldigen en meer. De volgende oefeningsstappen zullen enkele punten benadrukken.

Opmerking

Operators zoals +=, -=, *=, en ++-- worden aangeduid als operatoren voor samengestelde toewijzing, omdat ze een bewerking samenvoegen naast het toewijzen van het resultaat aan de variabele. De += operator wordt specifiek aangeduid als de operator voor het toewijzen van toevoegingen .

Code schrijven om een waarde te verhogen en te verlagen

  1. Selecteer alle code die u eerder hebt geschreven in de C#-code-editor en druk op Delete of Backspace om deze te verwijderen.

  2. Voer de volgende code in de C#-code-editor in:

    int value = 1;
    
    value = value + 1;
    Console.WriteLine("First increment: " + value);
    
    value += 1;
    Console.WriteLine("Second increment: " + value);
    
    value++;
    Console.WriteLine("Third increment: " + value);
    
    value = value - 1;
    Console.WriteLine("First decrement: " + value);
    
    value -= 1;
    Console.WriteLine("Second decrement: " + value);
    
    value--;
    Console.WriteLine("Third decrement: " + value);
    
  3. Voer de code uit. U ziet nu de volgende uitvoer:

    First increment: 2
    Second increment: 3
    Third increment: 4
    First decrement: 3
    Second decrement: 2
    Third decrement: 1
    

Opmerking

In de 'tweede stap' hebt u gebruikt value += 1;. U kunt echter elke letterlijke int waarde (of een variabele) gebruiken om dat bedrag te verhogen. Hetzelfde geldt voor de "tweede decrement": value -= 1;.

De operatoren voor incrementeel en verlagen positioneren

Zowel de incrementeer- als de decrementeeroperators hebben een interessante eigenschap: voeren ze, afhankelijk van hun positie, hun bewerking uit voor of na het ophalen van hun huidige waarde. Met andere woorden, als u de operator voor de waarde zoals in ++valuegebruikt, gebeurt de verhoging voordat de waarde wordt opgehaald. value++ Op dezelfde manier wordt de waarde verhoogd nadat de waarde is opgehaald.

De incrementele operator vóór en na de waarde gebruiken

  1. Verwijder de code uit de vorige stappen en voer de volgende code in de C#-code-editor in:

    int value = 1;
    value++;
    Console.WriteLine("First: " + value);
    Console.WriteLine($"Second: {value++}");
    Console.WriteLine("Third: " + value);
    Console.WriteLine("Fourth: " + (++value));
    
  2. Voer de code uit. U ziet nu de volgende uitvoer:

    First: 2
    Second: 2
    Third: 3
    Fourth: 4
    

Let op deze code regel:

Console.WriteLine($"Second: {value++}");

Er zijn twee stappen voor deze regel:

  1. Haal de huidige waarde van de variabele value op en gebruik deze in de tekenreeksinterpolatiebewerking.
  2. Verhoog de waarde.

De volgende regel code bevestigt dat de waarde in feite is verhoogd.

Console.WriteLine("Third: " + value);

Houd daarentegen rekening met de laatste regel code:

Console.WriteLine("Fourth: " + (++value));

Hier wordt de volgorde van bewerkingen gewijzigd omdat de operator vóór de ++ operand valuewordt geplaatst.

  1. Verhoog de waarde.
  2. Haal de nieuwe incrementele waarde van de variabele value op en gebruik deze in de tekenreeksbewerking.

Hoewel dit niet strikt noodzakelijk is, hebt u haakjes rond de expressie (++value) toegevoegd om de leesbaarheid te verbeteren. Wanneer je zoveel + operators naast elkaar ziet, kan het verkeerd worden begrepen door andere ontwikkelaars. Stijlbeslissingen zoals deze zijn subjectief. Omdat u de code echter eenmaal schrijft, maar deze vaak leest, moet u prioriteit geven aan de leesbaarheid.

Samenvatting

Dit is wat u tot nu toe hebt geleerd over wiskundige bewerkingen in C#:

  • Gebruik samengestelde toewijzingsoperatoren zoals +=, -=, *=, ++en -- om een wiskundige bewerking uit te voeren, zoals incrementeel of verlagen, en wijs vervolgens het resultaat toe aan de oorspronkelijke variabele.
  • Incrementele en decrementele operators werken anders, afhankelijk van of de operator vóór of na de operand staat.