변수, 자료형, 타입 변환과 값의 범위
4강. 변수, 자료형, 타입 변환과 값의 범위
1. 이번 강의에서 해결할 문제
정수 나눗셈으로 평균이 잘리거나 큰 값을 int에 저장하면 잘못된 통계가 나옵니다. 값의 범위와 계산에 맞는 타입을 선택해야 합니다.
2. 학습 목표
3. 핵심 개념
기본형 변수는 정해진 종류의 값을 표현하고 String 같은 참조형 변수는 객체를 가리킵니다. 작은 정수형에서 큰 정수형으로의 확대 변환은 자동이지만, 범위를 줄이는 변환은 데이터 손실 가능성이 있어 명시적 cast가 필요합니다. 평균은 정수 나눗셈을 피하도록 한 피연산자를 double로 만듭니다.
4. 단계별 실습
1. src/GameStats.java 작성
실행 환경: 코드 편집기
실행 위치: C:\dev\game-records
실행 전 확인: 같은 이름의 기존 파일이 있다면 덮어쓰기 전에 Git diff와 이번 강의 변경 범위를 확인합니다.
대상 파일: src/GameStats.java
public class GameStats {
public static void main(String[] args) {
int matches = 3;
long totalScore = 3_900_000_000L;
double averageScore = (double) totalScore / matches;
boolean qualified = averageScore >= 1_000_000_000.0;
String playerName = "Alice";
System.out.println(playerName + " 평균: " + averageScore);
System.out.println("랭킹 조건 충족: " + qualified);
System.out.println("int 최대값: " + Integer.MAX_VALUE);
}
}
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\GameStats.java
java -cp out GameStats
예상 결과: long 범위의 총점으로 실수 평균이 계산되고 조건 결과와 int 최대값이 출력됩니다.
5. 코드가 동작하는 이유
숫자 리터럴 뒤 L은 long임을 나타내고 밑줄은 가독성만 높입니다. (double) 변환이 나눗셈 전에 적용되어 소수 부분이 보존됩니다.
6. 자주 하는 실수와 해결법
7. 직접 실습
8. 이해 점검 질문 3개
9. 핵심 요약
변수, 자료형, 타입 변환과 값의 범위 미니 퀴즈
선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.
학습을 마쳤나요?
직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.