📌 int와 long이 담을 수 있는 범위
자료형 | 크기 (bit) | 최소값 | 최대값 | 대략적인 자리 수 |
int | 32-bit | -2,147,483,648 (-2³¹) | 2,147,483,647 (2³¹-1) | 약 10자리 |
long | 64-bit | -9,223,372,036,854,775,808 (-2⁶³) | 9,223,372,036,854,775,807 (2⁶³-1) | 약 19자리 |
📌 int와 long의 자리 수 기준
- int는 약 10자리 정수까지 안전하게 저장 가능.
- long은 약 19자리 정수까지 저장 가능.
- 10자리 초과하면 long을 써야 함!
→ 예를 들어 100억(10,000,000,000) 이상이면 long 필요.
✅ 예제 코드
public class IntegerLongTest {
public static void main(String[] args) {
int intMax = Integer.MAX_VALUE;
long longMax = Long.MAX_VALUE;
System.out.println("int 최대값: " + intMax); // 2,147,483,647
System.out.println("long 최대값: " + longMax); // 9,223,372,036,854,775,807
}
}
⚠️ 주의:
- 큰 숫자 리터럴을 long으로 사용하려면 L을 붙여야 함!
long num = 10000000000L; // 100억 (L을 붙여야 오류 없음)
- int 범위를 초과하는 값은 자동으로 long이 아님
int num = 10000000000; // ❌ 오류 발생! (int 범위 초과)
👉 결론:
- 10자리 이하 → int
- 10자리 초과 → long
- 정확한 큰 수 계산이 필요하면 BigInteger 사용 🚀
'ComputerScience > Java' 카테고리의 다른 글
부동소수점(Floating Point)이란? (Java) (1) | 2025.03.08 |
---|---|
자연 정렬(Natural Ordering)이란? - Comparable, Comparator 예제 (0) | 2025.02.27 |
Java 객체비교 인터페이스 - Comparable, Comparator (0) | 2025.02.27 |
isNumeric()과 isDigit() : 문자가 숫자인지 확인 (+차이점) (0) | 2025.02.26 |
String vs StringBuffer, StringBuilder 차이점 (0) | 2025.02.24 |