Java 변수·자료형·제어문 — 진짜 시작점
Java 변수·자료형·제어문 — 진짜 시작점
🎯 이 lesson 을 읽고 나면
이 lesson 을 다 읽고 나면 아래 3가지를 자신 있게 할 수 있습니다.
- ▸✅ 8개 기본 자료형 중 실무에서 쓰는 4개 (int/double/boolean/char) 차이
- ▸✅ for-each · for · while · switch 중 언제 무엇 을 쓰는지
- ▸✅ 정수 나눗셈 함정 + 타입 캐스팅 (int) double 의 truncate 동작 설명
학습 목표를 체크리스트로 두고 다 답할 수 있게 되면 lesson 을 닫으세요.
8개 기본 자료형 — 다 외울 필요 없습니다
Java 는 2가지 분류 가 있습니다
- ▸기본형 (primitive) — 실제 값을 담는 타입. 8종류.
- ▸참조형 (reference) — 객체의 주소를 담는 타입.
String, 배열, 클래스 등.
기본형 4개만 외우면 됩니다: int, double, boolean, char.
기본형 8가지 — 표 한 장으로
결론: 처음엔 int·double·boolean·char 만 알면 됩니다.
선언과 할당
= 는 "같다" 가 아니라 "넣어라" 의 뜻. 오른쪽 값을 왼쪽 변수에 대입 합니다.
출력 — println vs printf
%d = 정수, %f = 소수, %s = 문자열, %n = 줄바꿈. 옵션 %.1f 는 소수점 1자리.
타입 캐스팅 — int 와 double 사이 변환
자동 변환 (암묵적)
작은 타입 → 큰 타입 은 알아서 변환됩니다.
강제 변환 (명시적)
큰 타입 → 작은 타입 은 명시적 캐스팅 필요. 데이터 손실 가능성을 알리려는 거죠.
괄호 안에 어떤 타입으로 바꿀지 명시. 반올림이 아니라 잘라냅니다 (truncate) — 3.99 도 3 이 됩니다.
흔한 함정 — 정수 나눗셈
가장 흔한 버그. 정수만 나누면 소수점 버려진 결과가 나옵니다.
if · switch · 반복문 — 한 페이지 정리
if / else
조건은 boolean 이어야 합니다. C 처럼 if (x) 식으로 0/1 을 쓸 수 없어요.
switch — 값 비교가 많을 때
Java 14+ 부터는 화살표 문법 이 깔끔합니다.
옛 문법 (Java 13 이하) 은 break 빼먹으면 다음 case 까지 흘러내려 가는 함정이 있었습니다 — 신규 코드는 화살표 문법 쓰세요.
for — 횟수가 정해진 반복
순서는 초기화 → 조건검사 → 본문 → 증감 → 조건검사 .... 이걸 생애주기 라고 부릅니다.
while / do-while — 조건만 있을 때
do-while 은 무조건 한 번 실행 후 조건을 봅니다. 실무에선 거의 안 씁니다.
예제 — 1 ~ 100 합
배열 — 같은 타입 여러 개를 한 묶음
배열 선언과 초기화
int[] 가 "int 배열" 타입입니다. int arr[] 식 C 스타일 도 가능하지만 권장 X.
접근 — 인덱스는 0 부터
인덱스를 벗어나면 ArrayIndexOutOfBoundsException — 가장 자주 만나는 런타임 에러 입니다.
길이 — .length
.length 는 괄호 없는 필드 입니다 (length() 가 아닙니다). String 의 length() 와 헷갈리지 마세요.
for-each — 더 간결한 반복
인덱스가 필요 없을 때 이게 가독성 압도적. 다만 인덱스를 알 수 없으니 수정 작업엔 일반 for 가 낫습니다.
2차원 배열
게임 보드·매트릭스에서 자주. 실무에선 대부분 ArrayList 를 쓰지만 알고리즘 문제엔 배열이 빠릅니다.
다음 학습
변수·제어문·배열 — 여기까지가 모든 Java 코드의 기본 재료 입니다. 이제 다음 챕터 OOP 에서 "왜 클래스로 묶어야 하는가" 를 만나게 됩니다.
☕ 직접 실행 — 변수 · 자료형 · 연산 · 제어문
🤖 AI 에게 이렇게 요청해보세요
이 lesson 의 개념을 알면 AI 에게 구체적으로 지시할 수 있습니다. 막연한 "고쳐줘" 가 아니라 어휘를 가진 요청 — 그게 토큰 절약의 출발점입니다.
- ▸"이 Java 코드의 int 와 long, float 과 double 사용을 적절히 교정해줘"
- ▸"이 for 루프를 향상된 for-each 로 바꿔줘"
- ▸"이 if-else 체인을 switch 표현식 (Java 14+) 으로 리팩토링해줘"
왜 이게 토큰을 줄이나
개념을 모를 땐 AI 답변을 받고도 "그게 뭐예요?" 를 다시 물어야 합니다. 그 "다시 물음" 이 토큰을 잡아먹습니다. 개념 한 번 익혀두면 대화가 한 번에 끝납니다.