본문 바로가기

   
Programming/C#

조건 연산자(Operation)

반응형
연산자 (Operator)
 - 미리 정의된 연산을 피연산자를 대상으로 실행하고 그 결과를 현재 위치에 반환하는 요소
 - 분류 기준(행동, 피연산자 갯수)

int sum = 10 + 20; : + = 2개의 연산자가 있다.
1. 가장먼저 +행동을 취한다. +작동시엔 10+20만 더한다. 30연산후 결과값이 끝났다. 연산이끝나고 식자체가 끝나고 그위에 연산의 결과만 남는다.
2. 오른쪽에 있는값을 왼쪽에 대입한다. 대입이 끝나면 모든 int sum = 10 + 20; 문장 자체가 끝나고 다음 문장으로 넘어간다.
규칙 + - 보다 * / 를 먼저한다.
3 + 2 x 6 = 15이다.  

산술 연산자
 - 사칙 연산
 - +, -, *, /, %(mod, 나머지 연산자) 
 - 왼쪽 오른쪽 두개이다. 그래서 이항 연산자라 부른다. 

가감 연산자
 - 단항 연산자(피연산자의 갯수 1)
 - +, -, ++(증가), --(감소), !(부정) 단순부호 기호에 해당하는 연산자
 - 피연산자가 단하나만 올수 있기 때문에 가감연산자라고 한다. 
int n = 0;
n+1;//문장으로서 무의미하다 n+1 0 + 1 은 1이되지만 식은 공중에 붕뜨는 현상이 된다.

n = n - 1;
n -= 1;
--n;
n--;
위네가지는 다같은 형식이다. 

++n;//연산자 우선순위 거의 상급 
n++;//연산자 우선순위 최하위(대입연산자보다 아래)
int temp = 10+ ++n;//1. 연산자는 세개다 = + ++ 우선순위 1위 ++ 계산 2위 + 3위 =
 
//int temp = 10 + ++n;//1. 연산자는 세개다 = + ++ 우선순위 1위 ++ 계산 2위 + 3위 =
int temp = 10 + n++;// 1. 10+n 22++ 가남은상태 temp에는 22가 된 상태에서 출력도 22이고 연산자 우선순위가 낮아 n만추가된 상태
//피연산자가 왼쪽에 위치할경우 우선순위가 낮아진다.
Console.WriteLine(temp);
Console.WriteLine(n); 

언어별로 연산되는것 결과 값이 틀려진다. 컴파일러 별로 틀려짐 

삼항연산자
            // A ? B : C
            // 조건식(bool) ? 문장 : 문장
            // - 조건을 만족하면 B를 반환, 만족하지 못하면 C를 반환

            int n = 10;

            string result = (n > 0) ? "양수" : "음수";
            Console.WriteLine(result);            

            //20살이상 60살미만 -> 통과 + 스톱
            int age = 25;
            string result2 = (age >= 20 && age <= 60) ? "통과" : "스톱";
            Console.WriteLine(result2); 

 









반응형