산술연산자
+, -, *, /, % 가 있으며, 왼쪽값->오른쪽값 순으로 진행되고
산술연산자가 한문장에 있을때 * / % 가 먼저 연산되고 +,-가 나중에 연산된다.
int iNum = a * b - c / d + e % f;// a*b, c/d, e%f 가 실행되고 난 다음 - + 순
대입연산자
= 은 우선순위가 제일 낮은쪽에 속하고, 왼쪽값 <- 오른쪽값 순으로 진행된다.
int iNum = 100;
논리연산자
&& - AND 연산자, 왼쪽 값과 오른쪽 값이 true 일때만 true를 반환, 나머지는 false
|| - OR 연산자, 왼쪽 값과 오른쪽 값중 하나가 true일 때 true를 반환, 나머지는 false
! - NOT 연산자, 오른쪽에 오는 값이 true이면 false를 반환하고 false이면 true를 반환
int iYear;
Console.WriteLine("년도를 입력하세요");
iYear = int.Parse(Console.ReadLine());
if ( ((0 == iYear%4) && (0 != iYear%100)) || (0==(iYear%400)))
{
Console.WriteLine("{0}는 윤년입니다.", iYear);
}
else
{
Console.WriteLine("{0}는 평년입니다.", iYear);
}
증가연산자와 감소연산자
int iNum = 100;
Console.WriteLine(iNum); // 100
++iNum;
Console.WriteLine(iNum); // 101
iNum = iNum + 1;
Console.WriteLine(iNum); // 102
int iNum2;
iNum2 = ++iNum;
// iNum = iNum+1;
// iNum2 = iNum; 분리 하는게 알아보기 더편함.
Console.WriteLine("iNum, iNum2 = {0},{1}",iNum,iNum2);
// 103 103 iNum에 +1을 하고 대입함
int iNum3;
iNum3 = iNum++;
//iNum3 = iNum;
//iNum = iNum+1;
Console.WriteLine("iNum, iNum2 = {0},{1}", iNum, iNum3);
// 104 103 iNum을 대입하고 +1을 함 , 왼쪽에 변수가 있을떄 차이가 남
++ , —, 각각 1을 증가시키거나 1을 감소시킨다.
ㅁ++; 는 L_value에 R_value를 대입시킨후 R_value에 +1을 한다. 후위 증감 연산자
++ㅁ; 는 R_value에 +1을 한 다음 L_value에 R_value를 대입한다. 전위 증감 연산자
전위 증감 연산자 - 변수의 값을 변경한 후 구문 실행
후위 증감 연산자 - 해당 구문 실행후 변수의 값 변경
삼항연산자
(bool)? true : false
주로 최댓값이나 최솟값을 구할때 쓰임
int iNum1;
int iNum2;
int iMax;
Console.WriteLine("첫번째 정수를 입력하세요");
iNum1 = int.Parse(Console.ReadLine());
Console.WriteLine("두번째 정수를 입력하세요");
iNum2 = int.Parse(Console.ReadLine());
iMax = (iNum1 > iNum2) ? iNum1 : iNum2; // 첫번째와 두번째 수 중 큰값을 max에 저장
//iNum1이 큰경우 iMax = iNum1
//iNum2가 큰경우 iMan = iNum2
Console.WriteLine("제일 큰 값은 {0}입니다", iMax);
비트연산자
<< , >>, &, |, ^
<<와 >>는 비트단위로 몇칸만큼 이동시키라는 연산자
byte bNum = 100;
Console.WriteLine(bNum); // 100, 0110 0100
bNum = (byte)(bNum <<2); // 캐스팅 해야됨
Console.WriteLine(bNum); // 144, 1001 0000
&는 비트단위로 비교해서 각 비트가 true일때 true를 반환한다, 비트가 아닌 다른경우에 쓰면
&&는 왼쪽값이 false일때 오른쪽 값 연산을 안하는 반면 &는 왼쪽값이 false여도 오른쪽값 연산을 수행한다.
|는 비트버전 OR 연산자이고
^는 !=와 같다고 보면된다. 같지 않을때 true이고 같으면 false이다.
byte bNum1 = 0xAD; // 1010 1101
byte bNum2 = 0x69; // 0110 1001
bNum1 = (byte)(bNum1 & bNum2); // 0010 1001 = 41(10진수)
Console.WriteLine(bNum1); // 41
상등연산자
==, !=
== 는 L_Value와 R_Value가 같을때 true를 반환한다. 같지않으면 false
!= 는 L_Value와 R_Value 같지 않을때 true를 반환한다. 같으면 false, XOR
'컴퓨터 > C#' 카테고리의 다른 글
[C#] 메소드 (0) | 2020.05.26 |
---|---|
[C#] 반복문 (0) | 2020.05.26 |
[C#] 형변환, 산술연산자( /, %), if문, switch문 (0) | 2020.05.25 |
[C#] 문자형 기본타입과 형변환, 문법 요소 , 콘솔창에서 값 입력받아 출력하기 (0) | 2020.05.23 |
[C#] 보수법과 자료형 (0) | 2020.05.22 |