
논리 연산자는 부울 값(true또는false)을 조작하는 연산자이다.
주로 if문이나 조건식을 평가할 때 사용된다.
| 연산자 | 설명 | 예제 | 출력 값 |
|---|---|---|---|
&&(AND) | 둘 다 true일 때 true | true && false | false |
| || (OR) | 둘 중 하나라도 true이면 true | true || false | true |
!(NOT) | 논리값을 반대로 변환 | !true | false |
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 hasID가 true일 때만 실행된다.
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("오늘은 출근해야 합니다.");
}
// 주말이거나 공휴일이면 쉬는 날이 출력
true → false, false → truebool 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