본문 바로가기
C#/Basic Syntax

[C#] 5. 연산자

by 가든가든 2022. 9. 19.
728x90

& 연산자 - Visual Basic

 

& 연산자 - Visual Basic

자세한 정보: & 연산자(Visual Basic)

learn.microsoft.com

데이터 연산 작업을 수행할 때는 연산자(operator)를 사용합니다.

연산자는 기능에 따라 대입 · 산술 · 관계 · 논리 · 증감 · 조건 · 비트 · 시프트 연산자 등으로 나누며, 이용 형탱에 따라 항 1개로 연산을 하는 단항(unary) 연산자와 항 2개로 연산을 하는 이항(binary) 연산자, 항 3개로 연산을 하는 삼항(ternary) 연산자로 나눕니다.

  • 단항 연산자 - 연산자 / 피연산자
  • 이항 연산자 - 피연산자1 / 연산자 / 피연산자2
  • 삼항 연산자 - (식) ? 피연산자1 : 피연산자2
A += 1; // 단항 연산자 A = A + 1 // + 연산자, 1 피연산자

int num = 3000;
int number = num + 2000 // + 기호를 연산자라호 하며, num과 2000은 피연산자입니다.
//이항 연산자

할당 연산자와 증감 연산자

변수에 값을 대입하는 할당 연산자(=, +=, -=, *=, /=, %=)와 변수 값을 증가 또는 감소시키는 증감 연산자(++, --)가 있다.

변수 값 서로 바꾸기

using System;

namespace N_Assignment
{
    internal class Assignment
    {
        public void AssignmentEx()
        {
            int A = 1;
            int B = 2;
            Console.WriteLine($"A={A} B={B}");
						// A, B 위치 바꾸기
            var temp = A;
            A = B;
            B = temp; 
            Console.WriteLine($"A={A} B={B} - temp 변수를 활용하여 성공");
        }
    }
}

실행 결과

증감 연산자

  • ++(증가 연산자): 변수 값에 1을 더함
  • --(감소 연산자): 변수 값에 1을 뺌
구분 설명
전위(prefix) 증감 연산자 정수형 변수 앞에 연산자가 위치하여 변수 값을 미리 증감한 후 나머지 연산을 수행 ++a
--a
후위(postfix) 증감 연산자 정수형 변수 뒤에 연산자가 위치하여 연산식(대입)을 먼저 실행한 후 나중에 변수 값을 증감 a++
a--

관계형 연산자와 논리 연산자 사용하기

관계형 연산자(relational oerator) 또는 비교 연산자(comparative operator)는 두 항이 큰지, 작은지 또는 같은지 등을 비교하는 데 사용합니다. 관계형 연사자의 결괏값은 논리 형식인 참(True) 또는 거짓(False)으로 출력됩니다.

연산자 예(ex) 의미
< A < B 작은지(LessThen)
<= A <= B 작거나 같은지(LessThenEqual)
> A > B 큰지(GreaterThen)
>= A >= B 크거나 같은지(GreaterThenEqual)
== A == B 같은지(Equal)
!= A != B 같지 않은지(NotEqual)
using System;
using static System.Console;

namespace N_LogicalOperator
{
    internal class LogicalOperator
    {
        public void LogicalOperatorEx()
        {
            var i = 3;
            var j = 4;
            var r = false;

            r = (i == 3) && (j == 4);
            WriteLine(r);

            r = (i == 3) || (j == 5);
            WriteLine(r);

            r = i > j;
            WriteLine(r);

        }
    }
}

비트 연산자와 시프트 연산자로 비트 단위 연산하기

비트 연산자

비트 연산자(bit operator)는 정수형 데이터의 값을 이진수 비트 단위로 연산을 수행할 때 사용합니다.

byte x = 0b1010; //10
byte y = 0b1100; //12
// AND
Console.WriteLine($" {Convert.ToString(x & y, 2)} -> {x & y, 2}");
// result = 1000 -> 8

// OR
Console.WriteLine($" {Convert.ToString(x | y, 2)} -> {x | y, 2}");
// result = 1110 -> 14

// XOR
Console.WriteLine($" {Convert.ToString(x ^ y, 2).PadLeft(4, '0')} -> {x ^ y, 2}");
// result = 0110 -> 6

// NOT
Console.WriteLine($" {Convert.ToString((byte)~x, 2).PadLeft(4, '0')} -> {~x, 3}");
// result = 11110101 -> -11

시프트 연산자

int numbuer = 2; // 0010
Console.WriteLine(number << 1); // 0010 -> 0100
//result 0100 = 4

조건 연산자

조건식 ? 식1 : 식2;

using System;

namespace N_ConditonalOperator
{
    internal class ConditonalOperator
    {
        public void conditonalOperator()
        {
            int A = 0;
            int B = 0;
            int result = (10 > 5) ? A = 2 : B = 5;
            Console.WriteLine("A="+A);
            Console.WriteLine("B="+B);
            Console.WriteLine("result="+result);
						//A=2
						//B=0
						//result=2
        }
    }
}

연산자 우선순위

항목 연산자 우선순위
괄호 연산자 ( ) 높음🔼
증감 연산자 ++, --  
산술 연산자 -(음수)  
  *, /  
  %  
  +, -  
연결 연산자 +  
관계 연산자 ==, !=,
<, >,
<=, >=
 
논리 연산자 !(NOT)  
  &&(AND)  
  ||(OR) 낮음🔽
728x90