C#/연산자

[C#] 산술 연산

테크러너 2024. 3. 25.

 

산술연산 이라 해서 말이 어려워 보이지만 그냥 사칙연산이라고 생각하시면 됩니다.

 

요약

+
더하기
-
빼기
*
곱하기
/
나누기
%
나머지
++
증가
--
감소

 

더하기 연산 (+)

int x = 10; 
int result; 

result = x + 3; // result : 13
 

 

빼기 연산 (-)

int x = 10; 
int result; 

result = x - 5; // result : 5
 

 

곱하기 연산 (*)

int x = 10; 
int result; 

result = x * 2; // result : 20
 

 

나누기 , 나머지 연산 ( /, % )

몫을 구하는 계산 : /

 

나미지를 구하는 계산 : %

 

 

 

 



int x = 17;
int result_1;
int result_2;

result_1 = x / 5; // result_1 : 3
result_2 = x % 5; // result_2 : 2
 

 

Tip

더보기

/ 연산을 하는 것 보다 * 연산을 하는게 빠릅니다.

가능하면 *를 이용해 주세요.

 

예를 들면 아래 계산의 답은 둘 다 5지만 아래있는 계산이 더 빠르게 처리됩니다.

x = 10 / 2

x = 10 * 0.5f

 

 

증감 연산 (++ , --)

증감연산은 다른 사칙연산과는 다른 특징들을 가지고 있습니다.

 

1씩 연산

더하고 빼는 값을 마음대로 사용 가능한 다른 연산과는 다르게 증감은 1씩 계산됩니다.

int x = 10;
x++; 
// x : 11

int y = 10;
y--;
// y : 9
 

 

변수에 바로 계산

일반적으로 변수는 연산을 한 값을 다시 할당하지 않으면 저장되지 않습니다.

int x = 10;

Console.WriteLine(x + 10); // 20 출력

Console.WriteLine(x); // 10 출력
 

위 예제에서는 x 에 10을 더했지만 다시 할당하지 않았으므로 x 는 그대로 10 인 것을 볼 수 있습니다.

이 값을 저장하려면 변수에 다시 할당을 해야합니다.

int x = 10;
x = x + 10; 
// x 는 처음에 10 이었지만
// = 를 이용해 x 에 다시 값을 다시 할당했습니다.
// 그리고 할당한 값은 x + 10
// 여기서 x 는 10 이었으므로 10 + 10 이 됩니다.

Console.WriteLine(x); // 20 출력
 

x = x + 1; 을 줄여서 표현하는게 가능합니다.

int x = 10;
x = x + 10; 
Debug.Log(x) // 20

int y = 10;
y += 10;
Debug.Log(y) // 20

// + - * / % 다 가능합니다.
// a += 10;
// a -= 4;
// a *= 2;
// a /= 2;
// a %= 3;
 

 

이처럼 일반 연산 (+, -, *, /, %)들은 다시 할당을 해야 값이 저장이 됩니다.

하지만 증감 연산자는 사용하고 다시 할당하지 않더라도 값이 저장됩니다.

int x = 10;
x++; // x++ 를 하고 다시 x 에 할당하지 않았습니다.
Console.WriteLine(x); // 11 출력

int y = 10;
y--; // y++ 를 하고 다시 y 에 할당하지 않았습니다.
Console.WriteLine(y); // 9 출력
 

 

전위 연산 / 후위 연산

증감 연산은 해당 연산을 변수의 앞 혹은 뒤에 붙일 수 있습니다.

int x = 10;
x++;
++x;
 

작업을 할때 각 줄의 끝에 세미콜론( ; ) 을 붙인 것을 기억하실 겁니다.

이 세미콜론을 기준으로 띄어쓰기를 하고 이를 각 라인 이라고 합니다.

C# 에서는 라인을 기준으로 한 라인, 한 라인 작업을 수행합니다.

 

여기서 연산자를 뒤에 붙인다면 해당 라인이 끝나고 값이 증가합니다.

연산자를 앞에 붙인자면 해당 라인을 실행할때 증가된 값으로 실행합니다.

int x = 10;
Console.WriteLine(x++); // 10 출력 - ++ 를 x 뒤에 붙였기 때문에 여기까지는 아직 10입니다.
Console.WriteLine(x); // 11 출력 - 이후에는 11로 저장된 것을 볼 수 있습니다.

int y = 10;
Console.WriteLine(++y); // 11 출력 - ++ 를 x 앞에 붙였기 때문에 여기서 부터 11 로 인식합니다.
Console.WriteLine(y); // 11 출력 - 물론 이후에도 저장된 11로 남아있습니다.
 

 

 

Think

사칙연산간 우선순위가 어떻게 될까?

더보기
항목
연산자
우선순위
괄호 연산자
()
높음
증감 연산자
++, --
산술 연산자
-(음수)
*, /
%
+, -
연결 연산자
+
관계 연산자
==, !=, <, >, <=, >=
논리 연산자
!(Not)
&&(And)
||(Or)
낮음

표 출처 : https://thebook.io/006890/0191/

 

반응형

'C# > 연산자' 카테고리의 다른 글

[C#] 자료형 - bool  (0) 2024.03.25
[C#] 논리 연산 - 정리표  (0) 2024.03.25
[C#] 논리 연산 - 비교 연산자  (0) 2024.03.25
[C#] 논리 연산 - 같음 연산자  (0) 2024.03.25
[C#] 산술 연산 - 문자열  (0) 2024.03.25

댓글