논리 연산자(or, and, not)

Shy·2025년 3월 12일

C#

목록 보기
10/27

C#의 논리 연산자(Logical Operators)

논리 연산자는 부울 값(true또는false)을 조작하는 연산자이다.
주로 if문이나 조건식을 평가할 때 사용된다.

연산자설명예제출력 값
&&(AND)둘 다 true일 때 truetrue && falsefalse
|| (OR)둘 중 하나라도 true이면 truetrue || falsetrue
!(NOT)논리값을 반대로 변환!truefalse

&& (AND 연산자)

  • 양쪽 조건이 모두 true여야 결과가 true가 된다.
  • 하나라도 false이면 결과가 false가 된다.
bool a = true;
bool b = false;

Console.WriteLine(a && b); // false (둘 중 하나가 false이므로)
Console.WriteLine(a && true); // true
Console.WriteLine(true && true); // true

에시 코드

int age = 25;
bool hasID = true;

if (age >= 18 && hasID)
{
    Console.WriteLine("입장 가능합니다.");
}
else
{
    Console.WriteLine("입장 불가능합니다.");
}

age >= 18 AND hasIDtrue일 때만 실행된다.


|| (OR 연산자)

  • 둘 중 하나라도 true이면 결과가 true가 된다.
  • 둘 다 false일 때만 false다.
bool a = true;
bool b = false;

Console.WriteLine(a || b); // true (하나라도 true이므로)
Console.WriteLine(false || false); // false
Console.WriteLine(true || false); // true

예시 코드

bool isWeekend = true;
bool isHoliday = false;

if (isWeekend || isHoliday)
{
    Console.WriteLine("오늘은 쉬는 날입니다!");
}
else
{
    Console.WriteLine("오늘은 출근해야 합니다.");
}
// 주말이거나 공휴일이면 쉬는 날이 출력

! (NOT 연산자)

  • truefalse, falsetrue
  • 논리 값을 반대로 뒤집는다!!
bool isOpen = true;

Console.WriteLine(!isOpen); // false (NOT true)
Console.WriteLine(!false); // true (NOT false)
bool isDoorLocked = false;

if (!isDoorLocked)
{
    Console.WriteLine("문이 열려 있습니다.");
}
else
{
    Console.WriteLine("문이 잠겨 있습니다.");
}
  • !isDoorLocked → 문이 잠겨 있지 않으면 "문이 열려 있습니다." 출력.

논리 연산자 우선순위

논리 연산자(&&, ||, !)는 우선순위가 다르다!

  • ! (NOT) → 가장 높은 우선순위를 가진다.
  • && (AND)
  • || (OR) → 가장 낮은 우선순위를 가진다.

우선순위 예제

bool result = true || false && false; 
Console.WriteLine(result); // true

/*
 * AND(&&)가 먼저 실행됨 → false && false → false
 * 그다음 OR(||) 실행됨 → true || false → true
 */

그러니 괄호로 해당 우선순위를 명확히 하는것이 중요하다!!

bool result = (true || false) && false; 
Console.WriteLine(result); // false

profile
신입사원...

0개의 댓글