본문 바로가기
Program Language/C#

Part1. C# 첫발 내딛기(19. 논리 연산자)

by 토담이아빠 2023. 1. 11.

논리 연산자

 

이번 포스팅은 C#에서 사용하는 연산자 중 논리 연산자에 대해서 정리했습니다.


논리 연산자

 

C#에서 논리 연산자는 &&, ||, ^, ! 의 4가지입니다. 각각 AND, OR, XOR, NOT의 논리 연산을 수행합니다. AND 연산자는 피연산자가 모두 true일 때만 결과가 true이고 OR 연산자는 피 연산자 중 하나만 true면 결과가 true입니다. XOR 연산자는 두 값이 같으면 false, 다르면 true이고 NOT 연산자는 피연산자가 true면 false로 바꾸어주고 false이면 true로 바꾸어 줍니다.

 

다음은 이러한 논리 연산자를 이용한 예제입니다.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LogicalOperators
{
    internal class Program
    {
        static void Main(string[] args)
        {
            bool result;
            int first = 10, second = 20;

            result = (first == second) || (first > 5); // OR 논리 연산
            Console.WriteLine("{0} || {1} : {2}", first == second, first > 5, result);

            result = (first == second) && (first > 5); // AND 논리 연산
            Console.WriteLine("{0} && {1} : {2}", first == second, first > 5, result);

            result = true ^ false; // XOR 논리 연산
            Console.WriteLine("{0} ^ {1} : {2}", true, false, result);

            result = !(first > second); // NOT 논리 연산
            Console.WriteLine("!{0} : {1}", first > second, result);

        }
    }
}

논리연산자가 있는 문장은 다음과 같이 해석하면 이해하는데 도움이 될 수도 있습니다.


(first == second) || (first > 5)
=> first와 second가 같거나 first가 5보다 큰 경우 TRUE : ||을 '~같거나'로 해석

(first == second) && (first > 5)
=>  first와 second가 같고 first가 5보다 큰 경우 TRUE : &&을 '~같고'로 해석

true ^ false
=> true와 false가 다르면 TRUE : ^을 '~다르면'으로 해석

!(first > second)
=> first가 second보다 크지 않으면 TRUE : !을 '~하지 않으면'으로 해석

결과

False || True : True
False && True : False
True ^ False : True
!False : True

사실 논리 연산자 중 XOR 연산은 사용빈도가 낮습니다. 그러나 나머지 AND, OR, NOT 연산자는 사용빈도가 높으므로 잘 숙지하고 있어야 합니다.

 


[Review]

"초보자를 위한 C# 200제(2판)" 저자 / 강병익

댓글