728x90
1. 증감연산자
int vlaue = 0;
value += 1; // value : 1
value++; // value : 2
value -= 1; // value : 1
value--; // value : 0
위 코드는 아래의 코드와 같다.
int vlaue = 0;
value = value + 1; // value : 1
value = value + 1; // value : 2
value = value - 1; // value : 1
value = value - 1; // value : 0
2. 전위/후위 연산자
1) 전위 연산자
위에서 살펴본 증감연산자 ++ 혹은 -- 가 변수의 앞에 붙은 형태를 전위 연산자라고 한다.
형태)
++value;
--value;
전위 연산자는 변수에 1의 값을 먼저 증감시킨 후 나머지 연산이 있다면 해당 연산을 수행한다. (혹은 코드를 실행한다.)
예시)
int value = 0;
Console.WriteLine(++value);
Console.WriteLine(value);
Console.WriteLine(--value);
Console.WriteLine(value);
출력 결과)
1 // value의 값을 1 증가시킨다.
1 // value의 값은 1 이 된다.
0 // value의 값을 1 감소시킨다.
0 // value의 값은 0 이 된다.
2) 후위 연산자
위에서 살펴본 증감연산자 ++ 혹은 -- 가 변수의 뒤에 붙은 형태를 후위 연산자라고 한다.
형태)
value++;
value--;
후위 연산자는 나머지 연산이 있다면 해당 연산을 수행한 후(혹은 코드를 실행한 후) 변수에 1의 값을 나중에 증감시킨다.
예시)
int value = 0;
Console.WriteLine(value++);
Console.WriteLine(value);
Console.WriteLine(value--);
Console.WriteLine(value);
출력 결과)
0 // 변수 출력문을 수행하고, 그 다음에 변수에 1의 값을 증가시킨다.
1 // 1의 값이 증가된 변수의 값이 출력된다.
1 // 변수 출력문을 수행하고, 그 다음에 변수에 1의 값을 감소시킨다.
0 // 1의 값이 감소된 변수의 값이 출력된다.
그렇다면 전위 연산자와 후위 연산자가 복합되어 있는 경우는 어떨까?
int value1 = 3;
int value2 = 4;
Console.WriteLine(value1++ > --value2); // False
단순히 보면, value1 에 1을 증가한 값이 4이고, value2에서 1을 감소한 값이 3이니,
value1 > value2 는 4 > 3 이 되어,
비교연산자에 의해 참으로 판정되어 True 가 출력될 것 같다.
하지만 value1은 후위연산자가 붙어 연산을 수행한 후 1을 증가시키고,
value2는 전위 연산자가 부터 연산을 수행하기 전 1을 감소시킨 후, 1이 감소된 값이 저장된 변수 value2 의 값으로 연산을 수행한다.
따라서 위의 비교연산에 값을 대입해서 보면
3 > 3 이 되기 때문에 False 가 출력된다.
만일 이 다음 연산이 있다면,
그 때의 value1의 값은 4가 될 것이다.
Console.WriteLine(value1); // 4
전체 소스)
int value1 = 3;
int value2 = 4;
Console.WriteLine(value1++ > --value2);
Console.WriteLine(value1);
/* 출력 결과 :
False
4
*/
728x90
'Language > C#' 카테고리의 다른 글
[C#] Program.cs 의 기본 Syntax 해석 (0) | 2023.08.30 |
---|---|
[C#] 기초 문법 - array와 foreach문 (0) | 2023.08.30 |
[C#] 기초 문법 - 수학 연산 (0) | 2023.08.30 |
[C#] 기초 문법 - 숫자 타입의 변수를 활용한 string 문자열 만들기 (0) | 2023.08.30 |
[C#] 기초 문법 - string 문자열 활용하기 (0) | 2023.08.30 |