728x90
C# 에서는 수식 연산자, 논리 연산자, 조건 연산자 등 다양한 연산자를 제공하고 있으며 아래의 표로 연산자의 종류에 대해 정리를 하였습니다.
연산자 타입 | 연산자 |
산술 연산자 | +, -, *, /, % |
대입(할당) 연산자 | =, +=, -=, *=, /=, %= |
증감 연산자 | ++, -- |
논리 연산자 | && (And), || (Or), ! (Not) |
관계/비교 연산자 | <, >, ==, !=, >=, <= |
비트 연산자 | & (AND), | (OR), ^ (XOR) |
Shift 연산자 | >>, << |
조건 연산자 | ? |
🔷 산술 연산자
기본적이면서 가장 많이 사용하는 사칙연산입니다. 사칙연산 법칙과 같이 곱하기, 나누기, 나머지 계산이 먼저 계산이 되며 그다음 더하기, 빼기 순으로 우선순위가 됩니다.
static void Main(string[] args)
{
int a = 3;
int b = 5;
Console.WriteLine($"더하기 : { a + b }"); //8 출력
Console.WriteLine($"빼기 : {a - b}"); //-2 출력
Console.WriteLine($"곱하기 : {a * b}"); //15 출력
Console.WriteLine($"나누기 : {a / b}"); //0 출력
Console.WriteLine($"나누기 : {a % b}"); //3 출력
}
일반적인 사칙 연산과 동일하며 괄호를 사용하여 우선순위를 변경 할 수 있습니다.
🔷 대입(할당) 연산자
평소 수학에서는 =은 같다의 의미이지만 컴퓨터에서의 =은 대입을 의미합니다.
= | 왼쪽에 있는 변수에 값을 대입 |
+= | 왼쪽에 있는 값과 오른쪽에 있는 변수 또는 데이터를 덧셈 후 왼쪽에 있는 변수에 대입 |
-= | 왼쪽에 있는 값과 오른쪽에 있는 변수 또는 데이터를 뺼셈 후 왼쪽에 있는 변수에 대입 |
*= | 왼쪽에 있는 값과 오른쪽에 있는 변수 또는 데이터를 곱셈 후 왼쪽에 있는 변수에 대입 |
/= | 왼쪽에 있는 값과 오른쪽에 있는 변수 또는 데이터를 나눗셈 후 왼쪽에 있는 변수에 대입 |
%/ | 왼쪽에 있는 값과 오른쪽에 있는 변수 또는 데이터를 나머지 연산 후 왼쪽에 있는 변수에 대입 |
static void Main(string[] args)
{
int a = 3;
int b = 5;
b = a;
Console.WriteLine(b); //3
b += a; //b = b + a
Console.WriteLine(b); //6
b -= a; //b = b - a
Console.WriteLine(b); //3
b *= a; //b = b * a
Console.WriteLine(b); //9
b /= a; //b = b / a
Console.WriteLine(b); //3
b %= a; //b = b % a
Console.WriteLine(b); //0
}
🔷 증감 연산자
1씩 증가 또는 감소 시키는 연산자로 증감 연산자의 위치와 순서에 따라 결과가 달라진다.
x++ | 값을 1 증가시킨 후에 연산 |
++x | 연산을 진행 후 값을 1 증가 |
x-- | 값을 1 감소시킨 후에 연산 |
--x | 연산을 진행 후 값을 1 감소 |
🔷 관계/비교연산자
두 값의 크기를 비교하는 연산자로 Bool형인 True 또는 False로 나타낸다.
== | 왼쪽 변수와 오른쪽 변수가 같으면 True 틀리면 False를 반환 |
!= | 왼쪽 변수와 오른쪽 변수가 다르면 Ture 같으면 False를 반환 |
> , < | 왼쪽 변수가 오른쪽 변수보다 크거나 작으면 True, False를 반환 |
>=. <= | 왼쪽 변수가 오른쪽 변수보다 크거나, 작거나, 같으면 True, False를 반환 |
static void Main(string[] args)
{
int x = 28;
Console.WriteLine(x == 28); //True
Console.WriteLine(x != 28); //False
Console.WriteLine(x > 28); //False
Console.WriteLine(x >= 28); //True
Console.WriteLine(x < 28); //False
Console.WriteLine(x <= 28); //True
}
🔷 논리연산자
And, OR, Not으로 표현
&& | 왼쪽과 오른쪽이 모두 True일 경우 True 반환 아니면 False 반환 |
|| | 왼쪽 또는 오른 쪽이 True 일 경우 True를 반환 아니면 False 반환 |
! | 논리 값에 반대 되는 값을 반환 |
static void Main(string[] args)
{
bool t = true;
bool f = false;
Console.WriteLine(t && f); //false
Console.WriteLine(t || f); //True
Console.WriteLine(!t); //false
}
🔷 비트연산자
논리연산자와 비슷하지만, 비트(bit) 단위로 논리 연산을 할 때 사용하는 연산자이다.
& | 대응 되는 비트가 모두 1이면 1을 반환 |
| | 대응 되는 비트가 하나라도 1이면 1을 반환 |
^ | 대응 되는 비트가 서로 다르면 1을 반환 |
*= | 비트가 1이면 0 , 0 이면 1로 반환 |
🔷 Shift연산자
정수 데이터에 담겨있는 메모리의 비트를 왼쪽 또는 오른쪽으로 지정한 비트만큼 이동시키는 연산자이다.
<<,>> | 주어진 수를 2진수로 변경 후 2진수를 일정 칸 만큼 왼쪽 또는 오른쪽으로 이동 << : 변수 값 곱하기 2의 거듭제곱 >> : 변수 값 나누기 2의 거듭제곱 |
static void Main(string[] args)
{
int num1 = 2;
int num2 = 8;
Console.WriteLine(num1 << 2); //8
Console.WriteLine(num2 >> 2); //2
}
그림으로 표현할 경우 다음과 같이 나타낼 수 있다.
728x90
'C# > 개념 공부' 카테고리의 다른 글
[ 내일배움캠프 ] TIL.12 - 클래스 ( Class ) (0) | 2024.04.30 |
---|---|
[ 내일배움캠프 ] TIL.11 - 자료구조 ( 배열 & 리스트 ) (1) | 2024.04.29 |
[ 내일배움캠프 ] TIL.09 - 조건문 & 반복문 (0) | 2024.04.25 |
[ 내일배움캠프 ] TIL.08 - 메소드와 매개변수 (0) | 2024.04.24 |
[ 내일배움캠프 ] TIL.07 - 변수와 자료형 (0) | 2024.04.23 |