연산자와 비교·논리 연산
5강. 연산자와 비교·논리 연산
1. 이번 강의에서 해결할 문제
연산 우선순위나 &&와 ||를 잘못 묶으면 의도와 다른 보상 조건이 됩니다. 계산과 조건을 작은 변수로 나눠 읽을 수 있게 만들어야 합니다.
2. 학습 목표
3. 핵심 개념
산술 연산은 값을 만들고 비교 연산은 boolean을 만듭니다. &&는 앞 조건이 false면 뒤를 평가하지 않고 ||는 앞이 true면 뒤를 생략합니다. 이를 단락 평가라 하며 null 검사 뒤 메서드 호출 같은 안전 조건에 사용합니다.
4. 단계별 실습
1. src/ScoreCalculator.java 작성
실행 환경: 코드 편집기
실행 위치: C:\dev\game-records
실행 전 확인: 같은 이름의 기존 파일이 있다면 덮어쓰기 전에 Git diff와 이번 강의 변경 범위를 확인합니다.
대상 파일: src/ScoreCalculator.java
public class ScoreCalculator {
public static void main(String[] args) {
int baseScore = 950;
int combo = 4;
boolean ranked = true;
int comboBonus = combo >= 3 ? combo * 50 : 0;
int modeBonus = ranked ? 200 : 0;
int finalScore = baseScore + comboBonus + modeBonus;
boolean validRankedScore = ranked && finalScore >= 1_000;
System.out.println("최종 점수: " + finalScore);
System.out.println("랭킹 반영: " + validRankedScore);
}
}
2. PowerShell에서 컴파일·실행
실행 환경: Windows PowerShell
실행 위치: C:\dev\game-records
실행 전 확인: java -version과 javac -version이 선택한 LTS JDK를 가리키고, 소스 파일명이 public 클래스명과 일치하는지 확인합니다.
대상: 이 강의의 .java 파일, out의 class 파일과 명시된 출력 파일
Set-Location C:\dev\game-records
javac -d out .\src\ScoreCalculator.java
java -cp out ScoreCalculator
예상 결과: 콤보와 모드 보너스가 더해진 최종 점수와 랭킹 반영 여부가 출력됩니다.
5. 코드가 동작하는 이유
삼항 연산자는 조건에 따라 보너스 값을 선택하고 각 보너스를 이름 있는 변수로 분리해 규칙을 드러냅니다. &&는 ranked가 false일 때 뒤 비교 결과와 무관하게 false입니다.
6. 자주 하는 실수와 해결법
7. 직접 실습
8. 이해 점검 질문 3개
9. 핵심 요약
연산자와 비교·논리 연산 미니 퀴즈
선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.
학습을 마쳤나요?
직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.