✅ 자바의 기본 자료형(Primitive Types) 총 8가지
🟦 정수형 4가지
byte | 1바이트 | -128 ~ 127 | byte age = 20; |
short | 2바이트 | -32,768 ~ 32,767 | short year = 2025; |
int | 4바이트 | 약 -21억 ~ +21억 | int score = 100; |
long | 8바이트 | 매우 큰 정수 | long population = 8000000000L; |
✅ 정수형 쓸 때 L을 붙인다?
👉 long 타입일 때만 붙인다!
자바에서 정수 리터럴(예: 10000)은 기본적으로 int 타입으로 인식됨.
근데 long은 int보다 훨씬 더 큰 수를 담을 수 있음.
그래서 정수 값이 int 범위를 넘거나 long 타입임을 명확히 하고 싶을 때,
숫자 뒤에 L 또는 l 을 붙여야 함.
📌 L을 안 붙이면 자바는 int로 인식해서 에러 날 수 있음.
🟩 실수형 2가지
float | 4바이트 | 소수점 7자리 정확도 | float height = 175.5f; |
double | 8바이트 | 소수점 15자리 정확도 (기본값) | double pi = 3.141592; |
✅ float에 f를 꼭 붙이는 이유
자바에서 **소수점 숫자(실수)**를 쓰면,
기본적으로 double 타입으로 인식됨
👉 그래서 float 타입에 값을 넣을 땐
"이건 float이야!" 하고 명확히 알려주기 위해 f를 붙여야 함.
📌 f를 안 붙이면 자바는 "이건 double이니까 float에 못 넣어!" 라고 에러를 냄
🟨 문자형 1가지
char | 2바이트 | 문자 1개 저장 | char grade = 'A'; |
✅ 1. char → int 변환: 문자 → 숫자
자바에서 문자는 char형으로 저장되는데,
이건 **보이는 글자처럼 보여도, 내부적으로는 숫자(코드값)**로 저장됨

👉 문자 'A'를 int로 변환하면 65라는 숫자가 나옴
이 숫자가 바로 아스키 코드(ASCII Code) 값이야!
✅ 2. int → char 변환: 숫자 → 문자
반대로 숫자를 문자로 바꿀 수도 있음

👉 숫자 66은 문자 'B'에 해당하는 아스키코드 값
✅ 3. 그럼 아스키코드가 뭐냐면?
ASCII (American Standard Code for Information Interchange)
👉 미국표준 문자 인코딩 체계임
컴퓨터는 문자를 직접 이해하지 못함.
그래서 각 문자마다 숫자를 정해놓고, 그 숫자로 저장하고 처리함

👉 이처럼 문자와 숫자 사이의 매핑을 미리 정해둔 게 아스키코드임
✅ 그래서 왜 아스키코드가 중요할까?
- 문자와 숫자를 비교할 수 있음
- 문자 정렬, 암호화, 판별 등에 활용 가능
- 예: '0' <= ch <= '9' → 문자가 숫자인지 검사 가능!
*아스키 코드
🟥 논리형 1가지
boolean | 1비트 | 참/거짓 저장 | boolean isPass = true; |
🎯 총정리 – 8가지 기본 자료형
✅ 정수형(4): byte, short, int, long
✅ 실수형(2): float, double
✅ 문자형(1): char
✅ 논리형(1): boolean
*** 문자열 자료형 " String"
✅ 자바에서 String은 기본 자료형이 아님!
- int, char, boolean처럼 소문자로 시작하는 기본 자료형은 아니고
- String은 클래스형(참조형) 자료형!
- 그래서 항상 대문자 S로 시작
✅ 문자열은 큰따옴표 "로 감싼다!

📌 String = 큰따옴표 " "
📌 char = 작은따옴표 ' '
✅ String으로 할 수 있는 유용한 기능들
✅ 문자열과 숫자가 더해지는 순서가 핵심!
✅ 예시 1: 문자열이 앞에 오면?
🔍 실행 순서:
- "Java" + 123 → "Java123"
- "Java123" + 456 → "Java123456"
💡 문자열이 먼저 나왔기 때문에, 뒤에 오는 숫자들도 문자열처럼 이어붙여짐
✅ 예시 2: 숫자가 먼저 오면?
🔍 실행 순서:
- 123 + 456 → 579
- 579 + "Java" → "579Java"
👉 결과:
💡 숫자끼리는 먼저 계산되고,
문자열이 등장하는 순간부터는 문자열처럼 이어짐
✅ 예시 3: 숫자, 문자열, 숫자 섞였을 때?
🔍 실행 순서:
- 100 + "원" → "100원"
- "100원" + 50 → "100원50"
👉 결과:
🎯 핵심 정리!
"A" + 1 + 2 | A12 | 앞에 문자열이 있어서 이어붙임 |
1 + 2 + "A" | 3A | 앞의 숫자는 계산, 그 후 문자열 |
1 + "A" + 2 | 1A2 | 숫자+문자 → 문자열로 바뀌어 이어짐 |
✨ 한 줄 정리
문자열이 먼저 나오면 → 그 뒤 숫자도 전부 문자열처럼 붙임!
숫자가 먼저면 → 먼저 계산한 후에 문자열과 이어짐!
✅ 실수 자료형이란?
👉 소수점이 있는 숫자를 저장하는 자료형
예: 3.14, -0.5, 12345.6789 이런 숫자들!
자바(Java)에서는 2가지 종류가 있음:
✅ 1. float
기본값 | 0.0f → 끝에 f 붙여야 함 |
크기 | 4바이트 (적당한 소수 표현 가능) |
범위 | 약 ±3.4 × 10^38 까지 표현 가능 |
예시 | float pi = 12.25f; ← 꼭 f 붙여야 함! |
✅ 2. double
기본값 | 0.0d → 끝에 d는 써도 되고 안 써도 됨 (기본값이 double이라 생략 가능) |
크기 | 8바이트 (더 정밀한 소수 표현) |
범위 | 약 ±1.8 × 10^308 까지 표현 가능 |
예시 | double d = 12345.234d; 또는 double d = 12345.234; |
✅ 왜 float은 f를 붙이고 double은 안 붙여도 될까?
자바에서 기본 소수 타입이 double이기 때문에,
숫자에 아무것도 안 붙이면 자바는 자동으로 double로 처리함.

🎯 한 줄 요약
float | 중간 (7자리 정도) | 4바이트 | f 붙이기! |
double | 더 정밀 (15자리 정도) | 8바이트 | 기본 소수형이라 d 생략 가능 |
✅ 1. 실수 → 정수로 변환 (소수점 날려버림)
👉 강제 형변환 (명시적 변환) 필요!
소수점은 버려지고 정수 부분만 남음
📌 (int) 이렇게 써서 명시적으로 강제 변환!
✅ 2. 정수 → 실수로 변환 (자동으로 바뀜)
👉 자동 형변환 (묵시적 변환) 가능!
정수는 실수로 부드럽게 변환됨.
📌 실수 쪽이 크기나 정밀도가 더 크기 때문에 자바가 자동으로 변환.
🎯 정리 표
실수 → 정수 | (int)실수 | 소수점 날림, 강제 형변환 필요 |
정수 → 실수 | 자동 변환 | 자연스럽게 바뀜 |
#실수자료형 #float #double #자바기초 #자바자료형 #코딩공부 #프로그래밍기초 #정밀도 #소수점표현 #자료형비교 #코딩입문 #자바공부 #코딩수업 #컴퓨터기초 #자바float #자바double #변수선언 #4바이트 #8바이트 #자바실수형
#자바 #자바학습 #자바기초 #자바프로그래밍 #자바언어 #자바기초학습 #자바배우기 #자바개발 #자바코딩 #자바문법 #자바배열 #자바클래스 #자바객체지향 #자바메서드 #자바변수 #자바조건문 #자바반복문 #자바예제 #자바튜토리얼 #자바개발자