일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- SCM
- Gradle 빌드 오류
- 스마트공장
- OPC UA Client Write
- Java 버전 여러개 사용
- Gradle Jar
- springboot Gradle
- OPC
- ssh log
- OPC UA Write
- JOIN DBMS별 차이점
- mssql table 용량
- kafka
- table용량
- ssh 접속 로그
- ssh 접속 실패 로그
- OPC UA
- c#
- Jar 경로
- CPU 사용량
- OPC Write
- OPC DA
- MS-SQL
- c# 강의
- delete truncate 차이
- Xamarin
- MSSQL
- kafka listener
- Gradle JDK Path
- lock
- Today
- Total
IT’s Ha
[C#강의] 4. 연산자 본문
안녕하세요. 이번 포스팅은 C# 연산자에 대해서 알아보겠습니다.
1. 산술 연산자
산술연산자는 기본적이면서 가장 사용 많이 되는 사칙연산입니다. 기본적인 사칙연산과 나머지 계산(%)가 산술연산자입니다. 우선순위는 사칙연산 법칙과 같이 곱하기, 나누기, 나머지 계산이 먼저 그 다음 더하기,빼기가 우선순위가 됩니다. 연산자의 종류는 아래와 같습니다. (아래의 예제는 a: 20, b: 10)
연산자 | 표기 | 예제 |
더하기 | + | c = a + b // 결과 : 30 |
빼기 | - | c = a - b // 결과 : 10 |
곱하기 | * | c = a * b // 결과 : 200 |
나누기 | / | c = a / b // 결과 : 2 |
나머지 계산 | % | c = a % b // 결과 : 0 |
※ 예제
int a = 1;
int b = 2;
int c = 4;
int d = 4;
Console.WriteLine(a + b); // 3
Console.WriteLine(a - b); // -1
Console.WriteLine(c * a - d); // 0
Console.WriteLine(d * (c - b)); // 8
Console.WriteLine(b / (c- d)); // Error : DivideByZeroException 발생
5번째 같은 경우는 0나누기 오류가 발생하여 에러가 발생하게 됩니다. 연산은 0으로 값을 나누기를 할 수 없어 오류를 발생 시킵니다. 위와 관련하여 나중에 예외처리(Exception)에서 추가적으로 설명 드리겠습니다.
나머지는 기존 연산과 동일하게 동작을 합니다. 그리고 괄호를 사용하여 우선순위를 변경 할 수 있습니다. 일반적인 사칙 연산과 동일합니다.
2. 대입 연산자
우리가 평소 수학에서 '='은 같다를 의미하지만 컴퓨터에서 '='은 대입을 의미합니다. 이전 포스팅 변수에서 보시면 변수에 값을 대입하기 위하여 '='를 사용하였습니다. 대입 연산자의 종류는 아래와 같습니다.
대입 연산자 | 설명 | 예제 |
= | 왼쪽에 있는 변수에 값을 대입 | a = b |
+= | 왼쪽에 있는 값과 오른쪽에 있는 변수 또는 데이터를 덧셈 후 왼쪽에 있는 변수에 대입 | a += b (a = a +b) |
-= | 왼쪽에 있는 값과 오른쪽에 있는 변수 또는 데이터를 뺼셈 후 왼쪽에 있는 변수에 대입 | a -= b (a = a -b) |
*= | 왼쪽에 있는 값과 오른쪽에 있는 변수 또는 데이터를 곱셈 후 왼쪽에 있는 변수에 대입 | a *= b (a = a * b) |
/= | 왼쪽에 있는 값과 오른쪽에 있는 변수 또는 데이터를 나눗셈 후 왼쪽에 있는 변수에 대입 | a /= b (a = a / b) |
%= | 왼쪽에 있는 값과 오른쪽에 있는 변수 또는 데이터를 나머지 연산 후 왼쪽에 있는 변수에 대입 | a %= b (a= a % b) |
※ 예제
int a = 3;
int b = 2;
b = a;
Console.WriteLine(b); // 3
b += 2;
Console.WriteLine(b); // 5
b -= 2;
Console.WriteLine(b); // 3
b *= 3;
Console.WriteLine(b); // 9
b /= 3;
Console.WriteLine(b); // 3
b %= 2;
Console.WriteLine(b); // 1
3. 증감 연산자
증감 연산자는 1씩 증가 또는 감소 시키는 연산자입니다. 증감 연산자의 위치에 따라 순서와 결과가 다릅니다.
증감 연산자 | 설명 |
a++ | 값을 1 증가시킨 후에 연산을 진행 |
++a | 연산을 진행 후 값을 1 증가 시킴 |
a-- | 값을 1 감소시킨 후에 연산 진행 |
--a | 연산을 진행 후 값을 1 감소 시킴 |
※ 예제
int a = 3;
int b = 2;
int result;
result = a++ + b;
Console.WriteLine(result); // 5
Console.WriteLine(a); // 4
4. 비교 연산자
비교 연산자는 두 값의 크기를 비교하는 연산자입니다. 결과는 참 또는 거짓을 나타냅니다.
비교 연산자 | 설명 |
== | 왼쪽 변수와 오른쪽 변수가 같으면 True 틀리면 False를 반환 |
!= | 왼쪽 변수와 오른쪽 변수가 다르면 Ture 같으면 False를 반환 |
> | 왼쪽 변수가 오른쪽 변수보다 크면 True 작거나 같으면 False를 반환 |
>= | 왼쪽 변수가 오른쪽 변수보다 크거나 같으면 True 작으면 False를 반환 |
< | 왼쪽 변수가 오른쪽 변수보다 작으면 True 크거나 같으면 False를 반환 |
<= | 왼쪽 변수가 오른쪽 변수보다 작거나 같으면 True 크면 False를 반환 |
※ 예제
int a = 4;
Console.WriteLine(a==4); // True
Console.WriteLine(a!=4); // False
Console.WriteLine(a>4); // False
Console.WriteLine(a>=4); // True
Console.WriteLine(a<4); // False
Console.WriteLine(a<=4); // True
5. 논리 연산자
논리 연산자는 And와 Or, Not 연산에 대하여 표현합니다.
논리 연산자 | 설명 |
&& | 왼쪽과 오른쪽이 모두 True일 경우 True 반환 아니면 False 반환 |
|| | 왼쪽 또는 오른 쪽이 True 일 경우 True를 반환 아니면 False 반환 |
! | 논리 값에 반대 되는 값을 반환 |
※ 예제
bool a = True;
bool b = False;
Console.WriteLine(a && b); // False
Console.WriteLine(a || b); // True
Console.WriteLine(!a); // False
6. 비트 연산자
비트 연산자는 논리 연산자와 비슷하지만, 비트(bit) 단위로 논리 연산을 할 때 사용하는 연산자입니다.
비트 연산자 | 설명 |
& | 대응 되는 비트가 모두 1이면 1을 반환 |
| | 대응 되는 비트가 하나라도 1이면 1을 반환 |
^ | 대응 되는 비트가 서로 다르면 1을 반환 |
~ | 비트가 1이면 0 , 0 이면 1로 반환 |
<< | 지정한 수만큼 비트들을 전부 왼쪽으로 이동 |
>> | 지정한 수만큼 비트를 전부 오른쪽으로 이동 |
※ 예제
int a = 8;
Console.WriteLine(a<<1); // 16
Console.WriteLine(a>>1); // 4
8은 2진수로 표현을 하면 1000입니다. 1000을 왼쪽으로 한칸씩 이동하게 되면 10000이 됩니다. 10000은 10진수로 다시 바꾸면 16이 되게 됩니다. 오른쪽으로 이동하게 되면 100이 됩니다. 100은 10진수로 4가 됩니다.
7. 삼항 연산자
삼항연산자의 구조는 조건식 : 참일떄 값? 거짓일때 값 이렇게 구성이 됩니다.
※ 예제
int a = 2;
int b = 3;
int c = (a==b)? a: b;
Console.WriteLine(c); //3
삼항 연산자는 비교 연산을 하고 True와 False의 조건에 따라 결과값을 다르게 연산됩니다.
오늘은 연산자에 대하여 설명 드렸습니다. 이번 포스팅은 여기서 마치겠습니다.
궁금하신 내용이나 잘못된 내용은 댓글이나 메일로 부탁드리겠습니다. 감사합니다.
2023.02.23 - [.NET/C# 강의] - [C# 강의] 1. C#이란?
2023.02.27 - [.NET/C# 강의] - [C# 강의] 2.개발 환경 준비
2023.03.02 - [.NET/C# 강의] - [C#강의]3.변수, 주석, 데이터 자료형, 상수
'.NET > C# 강의' 카테고리의 다른 글
[C#강의] 6. 반복문 (0) | 2023.03.13 |
---|---|
[C#강의] 5. 조건문 (0) | 2023.03.12 |
[C#강의]3.변수, 주석, 데이터 자료형, 상수 (1) | 2023.03.02 |
[C# 강의] 2.개발 환경 준비 (0) | 2023.02.27 |
[C# 강의] 1. C#이란? (0) | 2023.02.23 |