![[자바 #2] 자바 기본 데이터 타입과 형 변환](https://image.inblog.dev?url=https%3A%2F%2Finblog.ai%2Fapi%2Fog-custom%3Ftitle%3D%255B%25EC%259E%2590%25EB%25B0%2594%2B%25232%255D%2B%25EC%259E%2590%25EB%25B0%2594%2B%25EA%25B8%25B0%25EB%25B3%25B8%2B%25EB%258D%25B0%25EC%259D%25B4%25ED%2584%25B0%2B%25ED%2583%2580%25EC%259E%2585%25EA%25B3%25BC%2B%25ED%2598%2595%2B%25EB%25B3%2580%25ED%2599%2598%26tag%3DTemplate%2B1%26description%3D%26template%3D3%26backgroundImage%3Dhttps%253A%252F%252Fsource.inblog.dev%252Fog_image%252Fdefault.png%26bgStartColor%3D%25233f0707%26bgEndColor%3D%25233f0707%26textColor%3D%2523000000%26tagColor%3D%2523000000%26descriptionColor%3D%2523000000%26logoUrl%3D%26blogTitle%3DGyeongwon%2527s%2Bblog&w=2048&q=75)
자바소스파일명과 변수명은 camel 케이스로 해야함
정수 타입은 총 5개.
byte, short, char, int, long → 각각 1, 2, 2, 4, 8byte.
1byte = 8bit이고,
예를들어 byte 타입은 최상위 bit를 부호 비트로 사용하고, 나머지 7bit로 값의 범위를 결정함.
프로그래머가 직접 입력한 값을 리터럴이라고 부름.
long 타입은 수치가 큰 데이터를 다루는데 int 타입의 허용범위를 초과하는 리터럴은 뒤에 소문자 ‘l’, ‘L’을 붙여 long타입 값임을 컴파일러에게 알려 줘야함.
long var1 = 10;
long var2 = 20L;
long var3 = 1000000000000; // 컴파일러는 int로 간주하기 때문에 에러 발생
long var4 = 1000000000000;
char 타입은 작은따옴표로 감싼 한 개의 문자이다. char 타입은 초기화 시에 ‘ ‘; 공백을 둬야한다.
실수타입은 float, double 두개 있다.
논리타입은 참과 거짓을 의미하고, 논리 리터럴은 true, false 이다.
boolean stop = true;
boolean stop = false;
문자열 타입 큰 따옴표로 감싼 여러 개의 문자들을 문자열이라고 부른다. String 타입을 이용한다.
String var1 = "A";
String var2 = "홍길동";
String 타입은 자바 기본 타입에 속하지 않는 참조 타입이다.
이스케이프 문자(역슬래쉬, \) 이다.
→ \”, \’, \\, \t, \n, \r 등이 있음
Java 13부터 텍스트 블록 문법 가능
String str = """
......
"""
자동 타입 변환
큰 허용 범위 타입 = 작은 허용 범위 타입
자동으로 큰 허용 범위 타입으로 변환된다.
허용 범위 순
byte < short, char < int < long < float < double
강제 타입 변환
작은 혀용 범위 타입 = (작은 허용 범위 타입) 큰 허용 범위 타입
작은 허용 범위 타입으로 자동 타입 변환될 수 는 없지만, 큰 허용 범위 타입을 작은 허용 범위 타입으로 쪼개어서 저장하는 것은 가능하다. 이를 강제 타입 변환(casting, 캐스팅)이라고 한다.
강제 타입의 목적은 원래 값이 유지되어야 한다. 작은 허용 범위 타입에 저장될 수 있는 값을 가지고 강제 타입 변환을 해야한다. 그렇지 않으면 원래 값이 보존되지 않는다.
long longValue = 300;
int intValue = (int) longValue; // 강제 타입 변환 후에 300dl 그대로 유지
int intValue = 65;
char charValue = (char) intValue;
System.out.println(charValue); // 'A'가 출력
📌 자바 기본 데이터 타입과 형 변환 완벽 정리
1. 자바 명명 규칙
- 클래스명, 소스파일명 → PascalCase
- 변수명, 메서드명 → camelCase
2. 기본 데이터 타입 (Primitive Type)
자바의 기본 타입은 총 8가지.
분류 | 타입 | 크기(byte) | 설명 |
정수 타입 | byte | 1 | -128 ~ 127 |
ㅤ | short | 2 | -32,768 ~ 32,767 |
ㅤ | char | 2 | 유니코드 문자(0 ~ 65,535) |
ㅤ | int | 4 | 기본 정수 타입 |
ㅤ | long | 8 | 큰 정수 범위 |
실수 타입 | float | 4 | 소수점 7자리 정도 |
ㅤ | double | 8 | 소수점 15자리 정도 (기본) |
논리 타입 | boolean | 1 | true / false |
정수 타입
long var1 = 10; // OK
long var2 = 20L; // OK (L 붙여줌)
long var3 = 1000000000000; // ❌ 컴파일 에러 (int로 간주)
long var4 = 1000000000000L; // OK
- 리터럴(literal) : 프로그래머가 직접 입력한 값
long
리터럴은 반드시 **L(l)**을 붙여야 한다.
문자 타입 (char)
- 작은따옴표(
' '
)로 감싼 한 문자
- 반드시 초기화 시
' '
공백 포함
char c1 = 'A';
char c2 = '한';
실수 타입
float
,double
존재
double
이 기본, 더 큰 정밀도를 제공
논리 타입
boolean stop = true;
boolean start = false;
- 조건문, 제어문에서 많이 사용
문자열 타입 (String)
- 큰따옴표(
" "
)로 감싼 문자열
- 기본 타입이 아닌 참조 타입
String name = "홍길동";
텍스트 블록 (Java 13+)
String str = """
여러 줄 문자열
가능하다
""";
3. 이스케이프 문자
문자 | 의미 |
\" | 큰따옴표 |
\' | 작은따옴표 |
\\ | 역슬래시 |
\t | 탭 |
\n | 줄바꿈 |
\r | 캐리지 리턴 |
4. 타입 변환
자동 타입 변환 (Promotion)
- 작은 허용 범위 → 큰 허용 범위로 자동 변환됨
byte → short/char → int → long → float → double
강제 타입 변환 (Casting)
- 큰 타입을 작은 타입으로 쪼개 저장
- 원래 값이 손실될 수도 있음
long longValue = 300;
int intValue = (int) longValue; // 300 유지
int num = 65;
char c = (char) num;
System.out.println(c); // 'A'
Share article