[Unity]/[C#]

[C# 기초] #08 : 연산자 - 기본, 대입, 증감, 관계, 논리 연산자

극꼼 2021. 7. 12. 12:20
반응형


안녕하세요 극꼼입니다!

앞서 포스팅했던 조건문에서 연산자가 키워드로 들어갔었는데요, 연산자란 특정 작업을 수행하기 위한 기호를 말합니다.

연산자에는 다양한 종류가 있습니다. (포스팅 맨 아래 정리되어 있어요!) 

이 포스팅에서는 주로 쓰이는 연산자에 대해서만 자세히 다루겠습니다. 

 


[기본 연산자]

기본 연산자에는 +, -, /, *, %가 있습니다. 아래 예시가 있습니다.

int a = 7;
int b = 5;
Debug.Log(a + b);  //12
Debug.Log(a - b);   //2
Debug.Log(a / b);   //1. a가 정수형이기 때문에 몫인 1만 출력됩니다.
Debug.Log(a * b);   //35
Debug.Log(a % b);  //2. %연산자는 나눗셈에서의 나머지를 계산합니다. 7을 5로 나눈 나머지 = 2

 

[대입 연산자]

대입 연산자에는 =가 있고, 복합 대입 연산자에는 +=, -=, /=, %=가 있습니다. 마찬가지로 예시를 들어보겠습니다.

int a = 10;
int b = 3;
a = a + b;  //a와 b를 더한 값을 a에 다시 대입해줍니다. a = 13. 
a += b;     //위의 식을 줄인 연산자입니다. 마찬가지로 a = 13.
a -= b;      //마찬가지로 a = a - b; 식을 줄인 연산자입니다. a = 7.
a /= b;      //a = 3.(a를 b로 나눈 몫)
a %= b;     //a = 1.(a를 b로 나눈 나머지)

 

[증감 연산자]

증감 연산자에는 ++, --가 있습니다. 증감 연산자의 경우에는 변수의 앞과 뒤 어느 위치에 오느냐에 따라 결과값이 달라질 수 있습니다. 증감 연산자가 앞에 붙을 경우 전위, 뒤에 붙을 경우 후위라 합니다.

int a = 4;
a++;    //a += 1 식을 줄인 연산자 입니다. a = 5.
++a;    //마찬가지로 a = 5.
a--;      //a = 3.
--a;      //마찬가지로 a = 3.

 

증감 연산자의 위치가 중요해질 때는 증감연산자가 들어간 변수를 바로 키워드로 사용할 때 입니다.

int a = 4;
Debug.Log(++a);  //1을 더한 후 a변수가 등장했기 때문에 출력되는 값은 5입니다.
Debug.Log(a++);  //1을 더하기 전에 a변수가 등장했기 때문에 출력되는 값은 4입니다. 

 

[관계 연산자]

관계 연산자에는 ==, >, <, >=, <=, !=가 있습니다. 조건문에 주로 사용됩니다.

==와 !=의 예시만 들어보겠습니다.

int a = 10;
int b = 10;
bool is_true;
is_true = (a == b) ? true : false;   // ==는 같음 연산자. true가 출력.
is_true = (a != b) ? true : false;  // !=는 다름 연산자. a와 b는 다르지 않으므로 false 출력.

*?문을 모르신다면 조건문 포스팅을 다시 읽어주세요.

 

[논리 연산자]

논리 연산자에는 &&(and), ||(true) 가 있습니다.

int a = 1;
int b = 2;
bool is_true = (a == b) && (b - a == 1);  
 //is_true = false. 앞의 조건은 false, 뒤의 조건은 true. &&연산자는 둘 중 하나라도 false면 false를 출력합니다.
bool is_true2 = (a == b) || (b + a == 3);
 //is_true = true. ||연산자는 둘 중 하나라도 true면 true를 출력합니다.

 


[연산자 종류 정리]

연산자의 종류는 다음과 같습니다.

연산자의 종류 연산자
기본 연산자 더하기 연산자 +
빼기 연산자 -
곱하기 연산자 *
나누기 연산자 /
나머지 연산자 %
증감 연산자 ++, -- (전위, 후위)
대입 연산자 대입 연산자 =복합 대입 +=, -=, *=, /=, %=
관계 연산자 같음 연산자 ==
같지 않음 연산자 !=
보다 작음 연산자 <
보다 큼 연산자 >
작거나 같음 연산자 <=
크거나 같음 연산자 >=
논리 연산자 부정 연산자 !AND 연산자 && OR 연산자 ||
비트 연산자 AND 연산자 &
XOR 연산자 ^
OR 연산자 | 
NOT 연산자 ~
왼쪽 시프트 연산자 <<
오른쪽 시프트 연산자 >>
멤버 액세스 연산자 멤버 액세스 연산자 .
인덱서 연산자 []
호출 연산자() 
데이터 형식 변환 및 검사 연산자 is 연산자
as 연산자
캐스트 연산자 ()
typeof 연산자
삼항 연산자 조건부 연산자 ?:
람다 연산자 람다 연산자 =>
대리자 연산자 delegate 연산자
new 연산자 new 연산자
sizeof 연산자 sizeof 연산자

 

반응형