1. 비교 연산

- 비교 연산의 필요성

체력이 0이 되면 사망 처리, 체력이 30% 이하일 시 조건 발동 (100 * hp / maxHp), 경험치가 100 이상이면 레벨업

bool isSame;
bool isDifferent;
bool isGreater;
bool isSmaller;

isSame = (a == b) // 같으면 1, 다르면 0

isDifferent = (a != b) // 다르면 1, 같으면 0

isGreater = (a > b) // a가 b보다 크면 1, 작으면 0, '>='는 이상, '>'는 초과
isSmaller = (a < b) // a가 b보다 작으면 1, 크면 0. '<='는 이하, '<'는 미만

 

2. 논리 연산

- 논리 연산의 필요성

조건에 대한 논리적 판단이 필요할 때, 로그인 시에 아이디와 비밀번호가 같을 때 통과

 

(1) ! : not, 반대 (0이면 1로, 1이면 0으로 출력)

isDifferent = !isSame;

(2) && : and (둘 다 1이면 1, 그 외에는 0)

int hp = 100;
bool isInvincible = true;
test = (hp <= 0 && isinvincible == false); // 무적도 아니고 hp가 0보다 작거나 같을 때 1을 출력

(3) || : or (둘 중 하나가 1이면 1, 그 외에는 0)

test = (hp > 0 || isInvincible = true); // 무적이거나 hp가 0보다 크면 1을 반환

참고) 'and' 구문의 예시 앞에 !(not)연산자를 붙이면 'or' 구문의 예시와 같게 된다.

참고2) 'and' 구문이나 'or' 구문을 실행할 때 컴파일러는 앞에 있는 조건을 먼저 실행한다.