이번 Step에서 잡아야 할 것

  • 비교 연산: 값들을 비교해 true/false를 만든다
  • 논리 연산: true/false를 조합해 더 복잡한 조건을 만든다
  • 단락 평가(short-circuit): &&, ||는 필요할 때만 오른쪽을 평가한다
  • 우선순위: 헷갈리면 괄호 ()로 의도를 고정한다

비교 연산자

연산자의미
==같다
!=다르다
<, >, <=, >=크기 비교
  • 결과는 bool (true 또는 false)
int hp = 10;
bool alive = (hp > 0);   // true

주의: 비교는 ==, 대입(쓰기)은 = 입니다.

논리 연산자

연산자의미
&&AND (둘 다 참)
||OR (하나라도 참)
!NOT (반전)

가장 중요한 개념은 단락 평가(short-circuit) 입니다.

  • A && B: A가 false면 B는 볼 필요가 없어서 평가하지 않음
  • A || B: A가 true면 B는 볼 필요가 없어서 평가하지 않음
// hp가 0 이하이면 오른쪽(회복 조건)은 아예 평가되지 않을 수 있음
if (hp > 0 && hp < maxHp) {
    // ...
}

NOT(!)은 조건을 뒤집습니다.

bool isDead = (hp <= 0);
if (!isDead) {
    // 살아있을 때만 실행
}

우선순위

  • &&||보다 높음

헷갈릴 때는 아래처럼 괄호로 의도를 고정하면 안전합니다.

bool canAttack = (hp > 0) && (isStunned == false || hasBuff == true);

체크 질문 (스스로 답해보기)

  • ===의 차이는 무엇일까?
  • A && B에서 A가 false면, B는 왜 평가되지 않을 수 있을까?
  • &&||가 섞인 조건식은 왜 괄호를 쓰는 게 안전할까?

profile
李家네_공부방

0개의 댓글