C# 입문 - 3 (강의록): 산술 연산

유키미아우·2024년 9월 1일
0

휘발되기 전에 휘갈김

산술 연산

+-*/%

1번) 변수 선언 int hp; (상자를 임대하는 것!)
2번) 변수 초기화 또는 쓰기: hp = 100;
3번) 변수 읽기: Console.WriteLine(hp);

int hp = 100;
변수 선언과 쓰기가 동시에 일어난다.

hp = hp - 5;
읽기와 쓰기가 동시에 일어난다.

연산에서의 타입

int a = 10 / 3;
일반적으로 생각했을 때 3.3333이 나오리라 생각될 수 있지만
위에서는 정수 타입을 기반으로 연산하여 결과 값을 마찬가지인 정수 타입 int에 담아주고 있기에 a에는 3이 할당된다.

int b = 10 % 3;
나머지 연산자인 %가 어디에 쓰일지 의문스러울 수 있다.
5의 배수인지 여부 (n % 5), 짝수인지 여부 (n % 2) 등 생각보다 많은 상황에 쓰인다.

int n = 0;
int a = 10 / n;
0으로 나눈다는 것은 불가능하기 때문에 crash가 난다.

사칙연산의 축약문법

int value = 5;
hp = hp + value;

hp가 너무 반복되는 것은 아닐까?
축약문법이 존재한다.

hp += value;
hp -= value;
hp *= value;

1을 더하고 빼는 일은 아주 흔한데,
이 코드 마저도 너무 귀찮다면?

hp++;
hp--;

또한 ++가 앞에 붙느냐 뒤에 붙느냐에 따라 실행단계가 다르다.

int a = 10;
Console.WriteLine(a++);
출력을 해보면 놀랍게도 10이 그대로 뜨는 것을 알 수 있다.

Console.WriteLine의 매개변수로 전달되는 값은 증가하기 전의 값이다. 따라서 출력을 하고난에 후 a의 값이 1 증가하여 11이 된다.

++가 뒤에 붙으면 할당보다 증가가 우선순위가 낮아진다.
이를 후위 증가 연산자라고 한다.

int a = 10;
int b = a++
// int b = a;
// a += 1;

++가 앞에 붙으면 증가가 할당보다 우선순위가 올라간다.
이를 전위 증가 연산자라고 한다.

int a = 10;
int b = ++a
// a += 1;
// int b = a;
profile
능동적인 마음

0개의 댓글