연습 - 값 증분 및 감소

완료됨

이 모듈에서 마지막으로 배울 기본 연산은 기호 조합인 특수 연산자를 사용하여 값을 늘리고 줄이는 방법입니다.

증가 및 감소

특히 데이터 구조와 상호 작용하는 반복 논리 또는 코드를 작성할 때 값을 증분 및/또는 감소시켜야 하는 경우가 많습니다.

+= 연산자는 연산자 오른쪽의 값을 더하고 연산자 왼쪽의 값에 할당합니다. 따라서 다음 코드 조각에서 두 번째 줄과 세 번째 줄은 동일합니다.

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

++ 연산자는 변수 값을 1씩 증분합니다. 따라서 다음 코드 조각에서 두 번째 줄과 세 번째 줄은 동일합니다.

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

이 동일한 기술을 빼기, 곱하기 등에 사용할 수 있습니다. 다음 연습 단계에서는 몇 가지 방법을 강조해서 설명합니다.

참고

+=, -=, *=, ++, -- 등의 연산자는 결과를 변수에 할당할 뿐 아니라 일부 연산을 구성하기 때문에 ‘복합 대입 연산자’라고 합니다. += 연산자를 구체적으로 ‘더하기 대입’ 연산자라고 합니다.

값을 증분 및 감소시키는 코드 작성

  1. .NET 편집기에서 모든 코드를 선택한 다음, Delete 또는 Backspace 키를 눌러 삭제합니다.

  2. .NET 편집기에 다음 코드를 입력합니다.

    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. 코드를 실행합니다. 다음 출력이 표시됩니다.

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

참고

“두 번째 증분”에서 value += 1;을 사용했습니다. 그러나 리터럴 int 값(또는 변수)을 사용하여 값 크기를 증분시킬 수 있었습니다. “second decrement”: value -= 1;의 경우도 마찬가지입니다.

증분 및 감소 연산자 위치 지정

증분 및 감소 연산자는 흥미로운 특성이 있습니다. 둘 다 위치에 따라 해당 값을 검색하기 전이나 이후에 연산을 수행합니다. 즉, ++value와 같이 값 앞에 연산자를 사용하면 값이 검색되기 ‘전에’ 값을 늘립니다. 마찬가지로, value++는 값이 검색된 후에 값을 늘립니다.

값 앞과 뒤에 증분 연산자를 사용합니다.

  1. 이전 단계의 코드를 삭제하고 .NET 편집기에 다음 코드를 입력합니다.

    int value = 1;
    value++;
    Console.WriteLine("First: " + value);
    Console.WriteLine($"Second: {value++}");
    Console.WriteLine("Third: " + value);
    Console.WriteLine("Fourth: " + (++value));
    
  2. 코드를 실행합니다. 다음 출력이 표시됩니다.

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

다음 코드 줄을 확인합니다.

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

이 줄은 두 가지 단계로 이루어져 있습니다.

  1. value 변수의 현재 값을 검색하고 해당 값을 문자열 보간 연산에 사용합니다.
  2. 값을 늘립니다.

다음 코드 줄에서 실제로 값이 증가했음을 확인합니다.

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

반대로, 다음 마지막 코드 줄을 생각해 봅시다.

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

여기서는 ++ 연산자가 value 피연산자 앞에 있으므로 연산 순서가 바뀝니다.

  1. 값을 늘립니다.
  2. value 변수의 증가한 새 값을 검색하고 해당 값을 문자열 연산에 사용합니다.

꼭 필요하지는 않지만, 읽기 쉽도록 (++value) 식 주위에 괄호를 추가했습니다. + 연산자를 연속해서 너무 많이 사용하면 다른 개발자가 잘못 해석할 수도 있습니다. 이러한 스타일 결정은 주관적입니다. 그러나 코드를 한 번 작성해서 여러 번 읽기 때문에 가독성을 우선적으로 고려해야 합니다.

요약

지금까지 C#의 수학 연산에 대해 알아본 내용은 다음과 같습니다.

  • +=, -=, *=, ++, -- 등의 복합 대입 연산자를 사용하여 증가 또는 감소와 같은 수학 연산을 수행하고 그 결과를 원래 변수에 할당합니다.
  • 증가 및 감소 연산자는 연산자가 피연산자 앞 또는 뒤에 있는지에 따라 다르게 수행됩니다.