728x90
반응형

C#에서 연산자란 무엇인가?
- 연산자는 특정한 연산을 수행하는 기호이다.
- 연산자는 특정한 연산을 수행하는 기호이다.
- C#에서는 산술연산자, 관계연산자, 논리연산자 등이 있다.
- 산술연산자는 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/), 나머지(%) 등이 있다.
- 관계연산자는 크다(>), 작다(<), 같다(==), 같지 않다(!=), 크거나 같다(>=), 작거나 같다(<=) 등이 있다.
- 논리연산자는 AND(&&), OR(||), NOT(!) 등이 있다.
- 이러한 연산자들을 사용하여 프로그램을 작성할 때, 특정한 조건을 만족하는지, 특정한 연산을 수행하는지 등을 판단할 수 있다.
아래 코드로 예시를 살펴보자
using System;
internal class Symmetry // 클래스 이름
{
static void Main() // 메인 함수
{
// 산술연산자
// 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/), 나머지(%)
// 산술연산자는 두 개의 피연산자를 가지고 연산을 수행한다.
Console.WriteLine("산술연산자"); // 콘솔에 출력
int num = 20, num2 = 10; // 정수형 변수 num, num2 선언 및 초기화
Console.WriteLine(num + num2); // 덧셈
Console.WriteLine(num - num2); // 뺄셈
Console.WriteLine(num * num2); // 곱셈
Console.WriteLine(num / num2); // 나눗셈
Console.WriteLine(num % num2); // 나머지
Console.WriteLine(); // 빈줄 출력
// 관계연산자
// 크다(>), 작다(<), 같다(==), 같지 않다(!=), 크거나 같다(>=), 작거나 같다(<=)
Console.WriteLine("관계연산자"); // 콘솔에 출력
Console.WriteLine(num == num2);// 같다
Console.WriteLine(num != num2); // 같지 않다
Console.WriteLine(num > num2); // 크다
Console.WriteLine(num < num2); // 작다
Console.WriteLine(num >= num2); // 크거나 같다
Console.WriteLine(num <= num2); // 작거나 같다
Console.WriteLine(); // 빈줄 출력
// 논리연산자
// AND(&&), OR(||), NOT(!)
// 논리연산자는 두 개 이상의 조건을 판단할 때 사용한다.
// AND(&&)는 두 조건이 모두 참일 때 참이다.
// OR(||)는 두 조건 중 하나라도 참이면 참이다.
// NOT(!)은 참이면 거짓, 거짓이면 참이다.
Console.WriteLine("논리연산자"); // 콘솔에 출력
int num3 = 15;
// 0 <= num3 <= 20
Console.WriteLine(0 <= 0 && num3 <= 20); // 0 ~ 20 사이에 포함되면
Console.WriteLine(0 > 0 || num3 > 20); // 0 ~ 20 사이에 포함되지 않으면
Console.WriteLine( !(0 <= 0 && num3 <= 20) ); // or와 동일
Console.WriteLine(); // 빈줄 출력
}
}
이 외에도 다양한 연산자가 있다. 몇 개만 간단하게 짚고 넘어가보자
증감 연산자
- 증가(++), 감소(--)
- 증감연산자는 변수의 값을 1씩 증가시키거나 감소시킬 때 사용한다.
- 전위 증가(++num), 후위 증가(num++), 전위 감소(--num), 후위 감소(num--)가 있다.
- 전위 증감은 먼저 증감을 수행하고, 후위 증감은 먼저 변수의 값을 사용한 후 증감을 수행한다.
Console.WriteLine("증감연산자"); // 콘솔에 출력
int num1 = 10; // 정수형 변수 num4 선언 및 초기화
Console.WriteLine(num4++); // 후위 증가
Console.WriteLine(num4); // 11
int num2 = 10; // 정수형 변수 num5 선언 및 초기화
Console.WriteLine(++num5); // 전위 증가
Console.WriteLine(num5); // 11
int num3 = 10; // 정수형 변수 num6 선언 및 초기화
Console.WriteLine(num6--); // 후위 감소
Console.WriteLine(num6); // 9
int num4 = 10; // 정수형 변수 num7 선언 및 초기화
Console.WriteLine(--num7); // 전위 감소
Console.WriteLine(num7); // 9
조건 연산자
- 조건식 ? 참일 때 값 : 거짓일 때 값
- 조건연산자는 조건식을 판단하여 참이면 참일 때 값, 거짓이면 거짓일 때 값을 반환한다.
Console.WriteLine("조건연산자"); // 콘솔에 출력
int num1 = 10; // 정수형 변수 num1 선언 및 초기화
int num2 = 20; // 정수형 변수 num2 선언 및 초기화
int result = num1 > num2 ? num1 : num2; // num1이 num2보다 크면 num1, 아니면 num2
Console.WriteLine(result); // 20
// num1이 num2보다 크지 않으므로 num9 출력
Console.WriteLine(); // 빈줄 출력
비트 연산자
- 비트연산자는 비트 단위로 연산을 수행한다.
- AND(&), OR(|), XOR(^), NOT(~), SHIFT(<<, >>) 등이 있다.
- 논리연산자와 비슷하지만, 비트 단위로 연산을 수행한다.
- 비트단위란 2진수로 표현된 숫자의 각 자리를 의미한다.
Console.WriteLine("비트연산자"); // 콘솔에 출력
int num10 = 10; // 0000 1010
int num11 = 20; // 0001 0100
Console.WriteLine(num10 & num11); // AND
// 0000 1010
Console.WriteLine(num10 | num11); // OR
// 0001 1110
Console.WriteLine(num10 ^ num11); // XOR
// 0001 0100
Console.WriteLine(~num10); // NOT
// 1111 0101
Console.WriteLine(num10 << 1); // SHIFT
// 0001 0100
Console.WriteLine(num10 >> 1); // SHIFT
// 0000 0101
대입 연산자
- 대입연산자는 변수에 값을 대입할 때 사용한다.
- =, +=, -=, *=, /=, %= 등이 있다.
Console.WriteLine("대입연산자"); // 콘솔에 출력
int num12 = 10; // 정수형 변수 num12 선언 및 초기화
num12 += 10; // num12 = num12 + 10
Console.WriteLine(num12); // 20
int num13 = 10; // 정수형 변수 num13 선언 및 초기화
num13 -= 10; // num13 = num13 - 10
Console.WriteLine(num13); // 0
int num14 = 10; // 정수형 변수 num14 선언 및 초기화
num14 *= 10; // num14 = num14 * 10
Console.WriteLine(num14); // 100
int num15 = 10; // 정수형 변수 num15 선언 및 초기화
num15 /= 10; // num15 = num15 / 10
Console.WriteLine(num15); // 1
int num16 = 10; // 정수형 변수 num16 선언 및 초기화
num16 %= 10; // num16 = num16 % 10
Console.WriteLine(num16); // 0
기타 연산자
- sizeof, typeof, is, as 등이 있다.
- sizeof는 데이터 형식의 크기를 반환한다.
- typeof는 데이터 형식을 반환한다.
- is는 데이터 형식을 비교한다.
- as는 형식 변환을 수행한다.
Console.WriteLine("기타연산자"); // 콘솔에 출력
int num17 = 10; // 정수형 변수 num17 선언 및 초기화
Console.WriteLine(sizeof(int)); // int형의 크기 출력
// 4바이트
Console.WriteLine(typeof(int)); // int형의 데이터 형식 출력
// System.Int32
Console.WriteLine(num17 is int); // num17이 int형인지 확인
// True
Console.WriteLine((int)num17); // num17을 int형으로 변환
// 10
// as는 형식 변환을 수행하는데, 형식이 맞지 않으면 null을 반환한다.
// int num18 = num17 as int; // 에러 발생
// int 같은 값 형식은 as로 형변환 불가능
// 그렇다면 참조형식은 가능할까?
// string str = num17 as string; // 에러 발생
// 그러면 사용을 어떻게 해야할까?
// int num18 = (int)num17; // 이렇게 사용하면 된다.
// string str = num17.ToString(); // 이렇게 사용하면 된다.
// as는 참조형식에 사용하는 것이 좋다. 이유는 값 형식은 null을 가질 수 없기 때문이다.
그 밖에도 다양한 연산자가 존재한다.
세부 내용은 추 후에 하나하나씩 뜯어서 공부하고 정리 할 예정이다.
728x90
반응형
'C#' 카테고리의 다른 글
| C# 조건문과 반복문 (0) | 2025.02.10 |
|---|---|
| C# 문자열 처리 (0) | 2025.02.10 |
| C# 조건문과 반복문 (0) | 2025.01.31 |
| C# 변수와 자료형 (2) | 2025.01.29 |
| C#기초와 개발환경 구현하기 (2) | 2025.01.27 |