Ćwiczenie — przyrostowe i dekrementacji wartości

Ukończone

Ostatnie podstawowe operacje, które poznasz w tym module, to sposób przyrostowania i dekrementacji wartości przy użyciu specjalnych operatorów, które są kombinacjami symboli.

Przyrost i dekrementacja

Często trzeba zwiększać i/lub dekrementować wartości, szczególnie podczas pisania logiki pętli lub kodu, który wchodzi w interakcję ze strukturą danych.

Operator += dodaje i przypisuje wartość po prawej stronie operatora do wartości po lewej stronie operatora. Dlatego wiersze dwa i trzy w poniższym fragmencie kodu są takie same:

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

Operator ++ zwiększa wartość zmiennej o 1. Dlatego wiersze dwa i trzy w poniższym fragmencie kodu są takie same:

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

Te same techniki mogą służyć do odejmowania, mnożenia i nie tylko. W poniższych krokach ćwiczenia zostanie wyróżnionych kilka.

Uwaga / Notatka

Operatory, takie jak +=, -=, *=, ++ i --, są nazywane operatorami przypisania złożonego, ponieważ łączą pewne operacje z przypisaniem wyniku do zmiennej. Operator += jest konkretnie określany jako operator przypisania dodawania .

Pisanie kodu w celu przyrostowania i dekrementowania wartości

  1. Wybierz cały kod napisany wcześniej w Edytorze kodu języka C# , a następnie naciśnij Delete lub Backspace , aby go usunąć.

  2. Wprowadź następujący kod w edytorze kodu języka C#:

    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. Uruchom kod. Powinny zostać wyświetlone następujące dane wyjściowe:

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

Uwaga / Notatka

W ciągu "drugiej inkrementacji" użyto elementu value += 1;. Można jednak użyć dowolnej wartości literału int (lub zmiennej), aby zwiększać tę kwotę. To samo dotyczy "drugiego pomniejszenia": value -= 1;.

Pozycjonowanie operatorów inkrementacji i dekrementacji

Zarówno operatory przyrostu, jak i dekrementacji mają ciekawą właściwość — w zależności od ich położenia, operator wykonuje operację przed pobraniem wartości lub po jej pobraniu. Innymi słowy, jeśli użyjesz operatora przed wartością w formacie ++value, przyrost będzie miał miejsce przed pobraniem wartości. Podobnie value++ zwiększy wartość po pobraniu wartości.

Użyj operatora inkrementacji przed i po wartości

  1. Usuń kod z poprzednich kroków i wprowadź następujący kod w edytorze kodu języka C#:

    int value = 1;
    value++;
    Console.WriteLine("First: " + value);
    Console.WriteLine($"Second: {value++}");
    Console.WriteLine("Third: " + value);
    Console.WriteLine("Fourth: " + (++value));
    
  2. Uruchom kod. Powinny zostać wyświetlone następujące dane wyjściowe:

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

Zwróć uwagę na ten wiersz kodu:

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

Ten wiersz zawiera dwa kroki:

  1. Pobierz bieżącą wartość zmiennej value i użyj jej w operacji interpolacji ciągów.
  2. Zwiększ wartość.

Następny wiersz kodu potwierdza, że wartość została w rzeczywistości zwiększana.

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

Z kolei rozważmy ostatni wiersz kodu:

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

W tym miejscu kolejność operacji jest przełączana, ponieważ operator ++ zostaje umieszczony przed operandem value.

  1. Zwiększ wartość.
  2. Pobierz nową wartość przyrostową zmiennej value i użyj jej w operacji ciągu.

Chociaż nie jest to absolutnie konieczne, dodano nawiasy wokół wyrażenia (++value) w celu zwiększenia czytelności. Widząc tak wielu + operatorów obok siebie wydaje się, że może to być niezrozumiane przez innych deweloperów. Decyzje stylistyczne w ten sposób są subiektywne. Ponieważ jednak napiszesz kod raz, ale odczytujesz go wiele razy, należy określić priorytet czytelności.

Podsumowanie

Poniżej przedstawiono zdobytą wiedzę na temat operacji matematycznych w języku C#:

  • Użyj operatorów przypisania złożonego, takich jak +=, , -=*=, ++i--, aby wykonać operację matematyczną, na przykład przyrost lub dekrementację, a następnie przypisz wynik do oryginalnej zmiennej.
  • Operatory inkrementacji i dekrementacji działają inaczej w zależności od tego, czy operator znajduje się przed operandem, czy po nim.