[Java] 타입 변환 (int, double, char, String)
2025. 10. 2. 20:09ㆍDev./Java
728x90
반응형
String s = "123";
int n = Integer.parseInt(s); // int 변환
double d = Double.parseDouble(s); // double 변환
개념
형변환(Casting)이란 데이터 타입을 다른 타입으로 바꾸는 것을 의미한다.
Java는 강타입 언어로 타입이 다르면 연산, 대입이 불가능하기때문에 형변환을 반드시 해주어야한다.
종류
자동 형변환(묵시적)
- 작은 타입 → 큰 타입으로 자동 변환
- 데이터 손실 가능성이 없는 경우에만 가능
int n = 10;
double d = n; // 자동으로 int → double
System.out.println(d); // 10.0
byte → short → int → long → float → double
강제 형변환(명시적)
- 큰 타입 → 작은 타입 또는 타입 간 변환이 필요할 때 사용
- (타입)을 붙여서 명시적으로 변환
double d = 3.14;
int n = (int)d; // 소수점 아래 버림
System.out.println(n); // 3
데이터 손실 가능성이 있기 때문에 주의해야한다.
숫자 <-> String
숫자 -> String
| 메서드 | 예시 코드 | 설명 |
| String.valueOf() | String s = String.valueOf(123); | ✅ 가장 안전하고 널(null) 처리 가능 |
| Integer.toString() | String s = Integer.toString(123); | 타입에 맞는 Wrapper 클래스의 toString() |
| + "" | String s = 123 + ""; | 간단하지만 비추천 (성능↓, 가독성↓) |
| String.format() | String s = String.format("%d", 123); | 포맷 지정 가능 (%f, %02d 등) |
int num = 123;
String s1 = String.valueOf(num);
String s2 = Integer.toString(num);
String s3 = num + "";
숫자 -> String
메서드 예시 코드 변환 대상
| 메서드 | |
| Integer.parseInt() | int |
| Double.parseDouble() | double |
| Long.parseLong() | long |
| Float.parseFloat() | float |
| Integer.valueOf() | Wrapper 객체 반환 |
- Integer.valueOf(String) → Integer 객체 생성
Integer obj = Integer.valueOf("123");
System.out.println(obj); // 123
System.out.println(obj.getClass()); // class java.lang.Integer
String "123"
|
v
Integer.valueOf("123") ----> [Integer 객체]
|
v
.intValue() ----> 123 (기본형)
숫자 <-> char
숫자 -> char
| 예시 코드 | 출력 | 설명 |
| (char)65 | 'A' | 아스키 코드 65 → 문자 A |
| (char)(num + '0') | '3' | 숫자 3 → 문자 '3' |
| '0' + 1 | '1' | 문자 연산도 가능 |
char -> 숫자
| 예시 코드 | 출력 | 설명 |
| '7' - '0' | 7 | 문자 '7' → 정수 7 |
| (int)'A' | 65 | 문자 'A'의 유니코드 값 |
| Character.getNumericValue('9') | 9 | 유니코드 기반 숫자 변환 |
String <-> char
String -> char
| 메서드 | 설명 |
| .charAt(index) | 인덱스로 한 글자 추출 |
| .toCharArray() | 전체를 문자 배열로 변환 |
String s = "Java";
char first = s.charAt(0); // 'J'
char[] arr = s.toCharArray(); // {'J','a','v','a'}
char -> String
| 메서드 | 설명 |
| String.valueOf(c) | 가장 일반적인 방법 |
| Character.toString(c) | 동일 기능 |
| "" + c | 빠르지만 권장X |
char c = 'A';
String s1 = String.valueOf(c);
String s2 = Character.toString(c);728x90
반응형
'Dev. > Java' 카테고리의 다른 글
| [Java] Java 메서드(Method) 와 객체화 (0) | 2025.10.14 |
|---|---|
| [Java] HashSet (0) | 2025.10.10 |
| [Java] .equals()와 ==의 차이 (0) | 2025.10.03 |
| [Java] for문과 향상된 for문 (0) | 2025.09.30 |
| [Java] Java 문자열 String / StringBuilder (0) | 2025.09.29 |