- 다음 내용은 Unity 퀘스트 모음집 \ C# 사전 문법 기초 \ 연산자 페이지들을 학습하고 작성되었습니다.
산술 연산
가감승제
- 기본적인 사칙연산으로 더하기(+), 빼기(-), 곱하기(*), 나누기(/)
int a = 1;
int b = 2;
int c = 3;
int d = 4;
int result1 = a + 4; // 5(1 + 4)
int result2 = b - 1; // 1(2 - 1)
int result3 = c * 3; // 9(3 * 3)
int result4 = d / 2; // 2(4 / 2)
나누기, 나머지 연산 (/, %)
- 나누기 연산의 결과값은 몫, 나머지 연산의 결과값은 나머지
int x = 10;
int y = 3;
int quotient = x / y; // 3
int remainder = x % y; // 1
곱셈과 나눗셈의 속도 차이
- 곱셈이 나눗셈보다 속도가 빠르므로 나눗셈의 곱셈으로 변환하여 연산하는 것을 권장
ex) 10 / 2 => 10 * 0.5f
증감연산
- 변수에 붙어 1씩 더하거나 빼는 연산
- 값을 재할당하지 않아도 값이 변화
// 증감 연산 예
int x = 10;
x++; // 11
int y = 5;
y--; // 4
// 다른 연산은 재할당 필요
int a = 3;
Console.WriteLine(a + 3); // 6
Console.WriteLine(a); // 3
a = a + 3; // 재할당
Console.WriteLine(a); // 6
// 증감 연산은 재할당 필요 없음
int b = 6;
Console.WriteLine(++b); // 7
Console.WriteLine(b); // 7
전위 / 후위 연산
- 전위 연산은 하나의 라인에서 증감연산을 우선 실행
- 후위 연산은 하나의 라인에서 증감연산을 나중에 실행
// 전위 연산
int a = 10;
// a에 1을 더하는 연산 먼저 수행하고 출력
Console.WriteLine(++a); // 11
Console.WriteLine(a); // 11
// 후위 연산
int b = 5;
// b를 먼저 출력하고 1을 더하는 연산 수행
Console.WriteLine(b++); // 5
Console.WriteLine(b); // 6
문자열
+(더하기)로 문자열을 연결할 수 있음, 숫자와 문자열도 연결 가능
string str1 = "Hello";
string str2 = " World!";
Console.WriteLine(str1 + str2);
// 출력 : Hello World!
int year = 2024;
string str3 = "년 입니다.";
string infoStr = year + str3;
Console.WriteLine(infoStr);
// 출력 : 2024년 입니다.
논리 연산
같음 연산자
- 연산자 기준으로 좌우의 값이 같은지 다른지 판별하는 연산
- 같은지 확인하려면 ==를, 다른지 확인하려면 !=를 사용
int x = 10;
bool isSame = x == 10; // true;
bool isDifferent = x != 10; // false;
비교 연산자
- 연산자 기준으로 좌우의 값 중 어느 것이 크거나 작은지 판별하는 연산
- 좌측의 값이 큰지 확인하려면 >, 작은지 확인하려면 < 사용
- 크거나 같은지 확인하려면 >=, 작거나 같은지 확인하려면 <= 사용
int age = 50;
bool isAdult = age > 19; // true
bool isKid = age <= 19; // false
조건부 논리 연산자
- AND(&&) : 모든 조건이 참인지 검사하고 둘 다 참이면 true, 하나라도 거짓이면 false
- OR(||) : 조건 중 하나라도 참이면 true, 둘 다 거짓이면 false
bool isA = true;
bool isB = false;
// AND 연산
if (isA && isB)
{
Console.WriteLine("둘 모두 참입니다.");
}
else
{
// 둘 중 하나가 거짓이므로 실행
Console.WriteLine("둘 중 하나는 거짓입니다.");
}
// OR 연산
if (isA || isB)
{
// 둘 중 하나가 참이므로 실행
Console.WriteLine("적어도 하나는 참입니다.");
}
else
{
Console.WriteLine("둘 모두 거짓입니다.");
}
자료형(bool)
- 조건 분기에서 참거짓을 판별, 흐름 제어에 중요한 역할
int age = 15;
bool canDrink = age > 19; // false
if (canDrink)
{
Console.WriteLine("술을 마실 수 있습니다.");
}
else
{
Console.WriteLine("아직 술을 마실 수 없습니다.");
}
비트 연산
- 비트(bit) 단위로 수행하는 연산
- AND(&) : 둘 모두 1이면 1, 하나라도 0이면 0 (ex) 3(0011) & 5(0101) => 1(0001)
- OR(|) : 둘 중 하나라도 1이면 1, 둘 모두 0이면 0 (ex) 3(0011) | 5(0101) => 7(0111)
- XOR(^) : 두 비트가 서로 같으면 0, 다르면 1 (ex) 3(0011) | 5(0101) => 6(0110)
- 왼쪽 시프트(<<) : 비트를 왼쪽으로 이동, 2배씩 커짐 (ex) 2(0010) << 1 = 4(0100)
- 오른쪽 시프트(>>) : 비트를 오른쪽으로 이동, 2배씩 작아짐 (ex) 8(1000) >> 2 = 2(0010)
* 시프트 연산시 넘어간 데이터는 사라짐
사칙연산 간 우선순위
- 단항 연산
- 곱셈, 나눗셈, 나머지
- 덧셈, 뺄셈
- 시프트
- 비교 연산
- 비트 연산
- 조건부 논리 연산

출처 : https://learn.microsoft.com/ko-kr/dotnet/csharp/language-reference/operators/
'내일배움캠프 > IL' 카테고리의 다른 글
| [내배캠][Unity_6기][IL] C# 추가 학습 (0) | 2024.08.31 |
|---|---|
| [내배캠][Unity_6기][IL] C# 클래스와 객체 (0) | 2024.08.31 |
| [내배캠][Unity_6기][IL] C# 함수 (0) | 2024.08.30 |
| [내배캠][Unity_6기][IL] C# 배열 (0) | 2024.08.30 |
| [내배캠][Unity_6기][IL] C# 제어문 (0) | 2024.08.30 |