[Java] 형변환

김호준·2021년 11월 3일
0

형 변환

String to Int

  • 자바의 Integer 클래스의 parseInt 나 valueOf 함수로 변환 가능
  • Integer.parseInt
String a = "10";
int num = Integer.parseInt(a);
  • Integer.valueOf
String str = "10";
int num = Integer.valueOf(str);

Int to String

  • 자바의 String 클래스의 valueOf 나 toString 함수로 변환 가능
  • String.valueOf
int num = 10;
String str = String.valueOf(num);
  • String.toString
int num = 10;
String str = String.toString(num);

Char to Int

  • 아스키 코드나 Character 클래스의 getNumericValue 함수로 변환 가능
  • 아스키 코드값 사용
char c = '9';
int num1 = c - '0';
int num2 = c - 48;
  • Character.getNumericValue
char c = '9';
int num1 = Character.getNumericValue(c);

Int to Char

  • 방법은 총 3가지로 (char)를 사용하거나 Character 클래스의 forDigit함수를 사용하거나 Integer클래스의 toString 함수를 이용하여 String으로 변환한 다음 charAt 함수를 사용하는 방법이 있다.
  • (char)
int num = 5;
char c = (char) num;
  • Character.forDigit(int digit, int radix)
    • 매개변수 digit에는 변환할 int값을 입력하고 radix 에는 기수를 입력한다. 즉 10진수로 인식할 때는 10을 입력하고 16진수로 인식할 때는 16을 radix 값에 입력한다.

      radix

      raidx는 한글로는 '기수'로 숫자 표현에 기준이 되는 수를 의미한다. 예를 들어 10진수의 기수는 10인 것이다.
int num = 5;
char c = Character.forDigit(num, 10);	
// 10진수값을 할당하기 위해 두번째 매개변수자리(int radix)에 10 입력
  • Integer.toString().charAt()
int num = 5;
char c = Integer.toString(num).charAt(0);

char to String

    1. char형 Array를 하나씩 꺼내 Character.toString으로 변환
String str = "김호준";
char[] cArr = str.toCharArray();
String change = "";

for (int i=0 ; i<cArr.length ; i++)
{
	change += Character.toString(cArr[i]);
}

System.out.print("출력 : " + change);		// 출력 : 김호준
    1. 캐릭터형 배열 char[ ]를 바로 String으로 변환
char [] cArr = { '김', '호', '준' };
String str = String.valueOf(cArr);

System.out.print(str);		// 김호준
  • String 클래스의 생성자 이용
    • String 도 결국 클래스이므로 String str = new String("김호준"); 과 같은 선언이 가능하기 때문에 String 생성자에 간편한 옵션이 존재한다.
    • new String(char배열, 시작 index, 끝 index) 를 입력하여 사용
char[] cArr = {'김', '호', '준', '입', '니', '다'};
String str = new String(cArr, 1, 5);

System.out.print(str);		// 호준입니다
  • char 한글자를 변환할 때 : Character.toString(char 변수)
    • 한글자를 변환할 때는 toString이 잘먹힌다고 한다.
String str = "";
char c = '김';

str = Character.toString(c);

System.out.print(str);		// 김

String to char

  • charAt 메서드를 이용하거나 toCharArray 함수를 이용할 수 있다.

  • charAt

String str = "HOJUN";
char c = str.charAt(0);
System.out.print("출력 : " + c);		// 출력 : H
  • toCharArray
    • 전체 문자열을 문자 배열로 변환할 때 이 방법을 사용할 수 있다.
String str = "HOJUN";
char [] cArr = str.toCharArray();
for(int i=0 ; i<cArr.length ; i++)
{
	System.out.print(cArr[i] + " ");	// H O J U N
}
profile
Go-getter Developer

0개의 댓글