728x90
반응형
Java에서 char
를 int
로 변환하는 방법 정리
Java에서 프로그래밍하다 보면 char
타입을 int
로 변환해야 할 때가 많습니다.
특히 코딩테스트(PCCP 등)에서는 숫자 문자('0'~'9')를 정수로 변환하는 일이 자주 나오죠.
오늘은 char
를 int
로 변환하는 다양한 방법과 상황에 맞는 사용법을 정리해보겠습니다.
1. 명시적 형변환 (Casting)
가장 기본적인 방법은 char
를 (int)로 캐스팅(casting)하는 것입니다.
char c = 'A';
int num = (int) c;
System.out.println(num); // 출력: 65
'A'
의 유니코드(아스키코드) 값인 65가 출력됩니다.- 문자 자체의 유니코드 값을 얻고 싶을 때 사용하는 방법입니다.
2. Character.getNumericValue()
사용
Character.getNumericValue(char ch)
메소드를 사용하면, 문자의 숫자 의미를 얻을 수 있습니다.
char c = '7';
int num = Character.getNumericValue(c);
System.out.println(num); // 출력: 7
- '7' → 7로 변환됩니다.
'A'
는 10,'B'
는 11처럼 알파벳도 숫자로 변환할 수 있습니다.- 주의: 이 방식은 숫자 문자뿐만 아니라 알파벳 문자도 변환됩니다.
3. '0'을 빼는 방법
숫자 문자('0'~'9')만 다룰 때는 가장 빠르고 간단한 방법입니다.
char c = '5';
int num = c - '0';
System.out.println(num); // 출력: 5
- '5'의 유니코드는 53, '0'은 48입니다.
53 - 48 = 5
가 되어 원하는 숫자값이 나옵니다.- 코딩테스트(PCCP 포함)에서는 이 방법이 가장 선호됩니다.
정리
상황 | 방법 | 예시 |
---|---|---|
문자의 유니코드(아스키) 값이 필요할 때 | (int) c |
'A' → 65 |
숫자 문자('0'~'9')를 빠르게 변환할 때 | c - '0' |
'7' → 7 |
일반 문자(숫자/알파벳) 모두 변환할 때 | Character.getNumericValue(c) |
'B' → 11 |
추가: 문자 배열을 int 배열로 변환하는 예시
만약 문자 배열 char[]
을 숫자 배열 int[]
로 변환하고 싶다면 이렇게 할 수 있습니다.
char[] chars = {'1', '2', '3'};
int[] numbers = new int[chars.length];
for (int i = 0; i < chars.length; i++) {
numbers[i] = chars[i] - '0';
}
// 출력 확인
for (int num : numbers) {
System.out.print(num + " "); // 출력: 1 2 3
}
마무리
상황에 따라 char
를 int
로 변환하는 방법을 선택하는 것이 중요합니다.
특히 숫자 문자('0'~'9') 변환은 `'0'을 빼는 방식**이 빠르고 간결하니 자주 활용해보세요! 🚀
728x90
반응형
'PCCP' 카테고리의 다른 글
[PCCP] JAVA StringBuilder (0) | 2025.04.19 |
---|---|
[PCCP] JAVA Character (0) | 2025.04.19 |
[PCCP] JAVA String (0) | 2025.04.19 |
[PCCP] Java 숫자형 타입과 실수의 정수 여부 판별 방법 정리 (0) | 2025.04.08 |
[PCCP] JAVA 배열 (0) | 2025.04.06 |