본문 바로가기

Java & Kotlin

[Java] int, char, String 사이의 형 변환 방법 정리

✨ String을 int 또는 char로

📌 String → int

1. Integer.parseInt()

Integer를 반환

String str = "123";
int intValue = Integer.parseInt(str);
System.out.println(intValue); // 123

2. Integer.valueOf()

Int를 반환

String str = "123";
int intValue = Integer.valueOf(str).intValue();
System.out.println(intValue); // 123

 

📌 String → char

1. String.charAt()

이 메서드는 특정 인덱스의 문자를 char로 반환한다.

String a = "string";
char b = a.charAt(0); // s

2. String.toCharArray()

이 메서드는 문자열을 char형 배열로 변환한다.

String a = "string";
char[] b = a.toCharArray();
for (int i=0; i<a.length; i++){
    System.out.println(b[i]);
}

/*
s
t
r
i
n
g
/*

✨ int를 String 또는 char로

📌 int → String

총 3가지 방법이 존재한다.

1. Integer.toString()

int intValue = 123;
String str = Integer.toString(intValue);
System.out.println(str); // 123

2. String.valueOf()

int intValue = 123;
String str = String.valueOf(intValue);
System.out.println(str); // 123

3. int + “”

int intValue = 123;
String str = intValue + "";
System.out.println(str); // 123

 

📌 int → char

1. 강제 형 변환

아래와 같이 강제 형 변환을 통해 아스키 코드 값에 상응하는 char을 얻을 수 있다.

단, ‘1’과 같이 0-9 사이의 값을 ‘’사이에 넣어주면 문자 그대로의 char을 얻을 수 있다.

int a = 65;
char b = (char) a;
System.out.println(b); // A

int a ='1';
char b = (char) a; 
System.out.println(b); // 1

2. Character.forDigit()

이 메서드는 radix(기수)에 따른 특정 숫자의 표현형을 결정한다.

진법 변환을 할 때 이용할 수 있다.

아래를 보면 16진법에서 12에 상응하는 c가 반환된 것을 확인할 수 있다.

int radix = 16; 
int a = 12;
char b = Character.forDigit(a , radix);
System.out.println(b); // c

3. Integer.toString()과 String.charAt()

이 메서드는 정수 값을 문자열로 바꿔준다. 이후 String의 charAt()을 이용하여 char을 반환할 수 있다.

아래의 코드에서는 문자열의 인덱스 3에 해당하는 4가 반환된다.

int a= 123456789;
char b = Integer.toString(a).charAt(3);
System.out.println(b); // 4

✨ char을 int 또는 String으로

📌 char → int

1. 암시적 형 변환

자바에서 더 큰 자료형에 작은 자료형을 할당하면 더 큰 자료형에 맞춰서 자동으로 형 변환이 일어난다.

char a =‘1’; 
int b = a;
System.out.println(b); // 49

위에서 char이 int로 변환되고, b를 출력하면 ‘1’의 아스키 코드 값인 49가 출력된다.

2. 강제 형 변환

형 변황을 명시해주는 것일 뿐, 출력 결과는 동일하다.

char a =‘1’; 
int b = (int)a;
System.out.println(b); // 49

3. Character.getNumericValue ()

이 메서드를 이용하면 ASCII 코드 값이 아닌 char이 가진 정수 자체의 값을 얻을 수 있다.

char a =‘1’; 
System.out.println(Character.getNumericValue(a)); // 1

 

📌 char → String

1. Character.toString()

아래와 같이 간단하게 char을 한 글자 String으로 변환할 수 있다.

char a = 'c';
String b = Character.toString(a);
System.out.println(b); // c

2. String.valueOf()

이 메서드는 char을 String으로 변환하거나, char[]을 여러 글자 String으로 변환할 때 사용된다.

char a = 'c';
String b = String.valueOf(a);
System.out.println(b); // c
char[] a = {'a','b','c','d','e'};
String b = String.valueOf(a);
System.out.println(b); // abcde

3. 암시적 형 변환 : char + “”

이처럼 암시적 형 변환을 이용하여 char을 String으로 변환할 수 있다.

char a = 'c';
String b = a + "";
System.out.println(b); // c