PCCP

[PCCP] JAVA Char 를 int 로 변환

Life Log 2025. 4. 19. 15:10
728x90
반응형

Java에서 charint로 변환하는 방법 정리

Java에서 프로그래밍하다 보면 char 타입을 int로 변환해야 할 때가 많습니다.
특히 코딩테스트(PCCP 등)에서는 숫자 문자('0'~'9')를 정수로 변환하는 일이 자주 나오죠.
오늘은 charint로 변환하는 다양한 방법과 상황에 맞는 사용법을 정리해보겠습니다.


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
}

마무리

상황에 따라 charint로 변환하는 방법을 선택하는 것이 중요합니다.
특히 숫자 문자('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