본문 바로가기
카테고리 없음

[C#] 연산자와 표현식

by 오 복 이 2024. 11. 9.

이번 글에서는 C#에서 사용할 수 있는 다양한 연산자와 표현식에 대해 알아보겠습니다. 산술 연산자, 비교 연산자, 논리 연산자, 그리고 연산자 우선순위문자열 연결 및 보간 방법까지 살펴봅니다. 연산자는 프로그램에서 값을 계산하고 비교하며 논리적인 조건을 평가하는 데 매우 중요한 역할을 합니다.


1. 산술 연산자

산술 연산자는 수학적인 계산을 수행하는 데 사용됩니다. 대표적인 산술 연산자에는 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 등이 있습니다.

연산자설명예시

+ 덧셈 a + b
- 뺄셈 a - b
* 곱셈 a * b
/ 나눗셈 a / b
% 나머지 계산 a % b

산술 연산자 예제

 
int a = 10;
int b = 3;

// 덧셈
int sum = a + b; // 10 + 3 = 13
Console.WriteLine($"덧셈 결과: {sum}");

// 뺄셈
int difference = a - b; // 10 - 3 = 7
Console.WriteLine($"뺄셈 결과: {difference}");

// 곱셈
int product = a * b; // 10 * 3 = 30
Console.WriteLine($"곱셈 결과: {product}");

// 나눗셈
double quotient = (double)a / b; // 10을 3으로 나눈 몫 (실수형으로 변환)
Console.WriteLine($"나눗셈 결과: {quotient}");

// 나머지
int remainder = a % b; // 10을 3으로 나눈 나머지
Console.WriteLine($"나머지 결과: {remainder}");

💡 나눗셈 연산 시 주의할 점은 int로 나누면 몫만 남기고 소수점은 버려진다는 점입니다. 정확한 결과를 위해 형 변환을 사용하여 실수형(double 등)으로 계산하는 것이 좋습니다.


2. 비교 연산자

비교 연산자는 두 값을 비교하여 참(true) 또는 **거짓(false)**을 반환합니다. 주로 조건문에서 사용되며, 값이 같거나 크고 작음을 평가할 때 유용합니다.

연산자설명예시

     
== 두 값이 같음 a == b
!= 두 값이 다름 a != b
> 왼쪽이 큰 경우 a > b
< 오른쪽이 큰 경우 a < b
>= 왼쪽이 크거나 같음 a >= b
<= 오른쪽이 크거나 같음 a <= b

비교 연산자 예제

int x = 5;
int y = 10;

// 두 값이 같은지 비교
bool isEqual = (x == y); // x와 y가 같은지 확인
Console.WriteLine($"x와 y가 같은가? {isEqual}");

// 두 값이 다른지 비교
bool isNotEqual = (x != y); // x와 y가 다른지 확인
Console.WriteLine($"x와 y가 다른가? {isNotEqual}");

// x가 y보다 큰지 비교
bool isGreater = (x > y); // x가 y보다 큰지 확인
Console.WriteLine($"x가 y보다 큰가? {isGreater}");

// x가 y보다 작은지 비교
bool isLess = (x < y); // x가 y보다 작은지 확인
Console.WriteLine($"x가 y보다 작은가? {isLess}");

 


3. 논리 연산자

논리 연산자는 조건문에서 여러 조건을 결합하여 복합적인 판단을 할 수 있도록 도와줍니다.

연산자설명예시

연산자 설명 예시
&& 논리적 A (a > 0) && (b > 0)
! 논리적 NOT !(a > 0)

논리 연산자 예제

bool isAdult = true;
bool hasID = false;

// 논리적 AND: 두 조건이 모두 참이어야 true
bool canEnter = isAdult && hasID; // 성인이고 신분증이 있어야 입장 가능
Console.WriteLine($"입장 가능 여부: {canEnter}");

// 논리적 OR: 한 조건이라도 참이면 true
bool isChildOrSenior = !isAdult || !hasID; // 어린이이거나 신분증이 없는 경우
Console.WriteLine($"어린이 혹은 신분증 미소지 여부: {isChildOrSenior}");

// 논리적 NOT: 조건의 반대 값
bool isNotAdult = !isAdult; // 성인이 아닌 경우
Console.WriteLine($"성인 여부의 반대: {isNotAdult}");

4. 연산자 우선순위

C#의 연산자는 특정한 우선순위를 가지며, 우선순위가 높은 연산자가 먼저 실행됩니다. 예를 들어, 산술 연산자는 비교 연산자보다 우선순위가 높고, 논리 연산자는 비교 연산자보다 우선순위가 낮습니다.

연산자 우선순위 예제

 
int a = 10;
int b = 5;
int c = 2;

// 우선순위에 따라 계산: 곱셈과 나눗셈이 덧셈보다 우선
int result = a + b * c; // b * c 먼저 계산, 그 다음 a + (b * c)
Console.WriteLine($"우선순위에 따른 결과: {result}"); // 출력: 20

// 괄호를 사용해 우선순위를 변경
int resultWithParentheses = (a + b) * c; // (a + b) 먼저 계산, 그 다음 * c
Console.WriteLine($"괄호로 우선순위 변경 후 결과: {resultWithParentheses}"); // 출력: 30

💡 우선순위가 헷갈릴 때는 괄호 ()를 사용하여 명시적으로 연산 순서를 지정하는 것이 좋습니다.

 


5. 문자열 연결 및 보간

C#에서는 문자열을 연결하거나 변수를 문자열 내에 쉽게 포함시키기 위한 방법으로 문자열 연결문자열 보간을 제공합니다.

문자열 연결

문자열을 연결할 때는 + 연산자를 사용합니다.

string firstName = "홍";
string lastName = "길동";

// 문자열 연결
string fullName = firstName + lastName;
Console.WriteLine("연결된 이름: " + fullName); // 출력: "홍길동"

문자열 보간 (String Interpolation)

문자열 보간은 $ 기호와 중괄호 {}를 사용하여 문자열 내에 변수를 포함하는 방법입니다. 코드가 더 직관적이고 가독성이 좋습니다.

string name = "홍길동";
int age = 30;

// 문자열 보간을 이용하여 출력
string introduction = $"이름: {name}, 나이: {age}세";
Console.WriteLine(introduction); // 출력: "이름: 홍길동, 나이: 30세"

💡 문자열 보간은 C# 6.0부터 지원됩니다. $를 사용해 쉽게 변수를 문자열 안에 포함시킬 수 있어 가독성이 높아집니다.

 

728x90
반응형