Java - 형변환

이것 역시 계산기를 만들어보다가 형변환 일이 있어서 구글링을 했는데, 아예 형변환에 대해 정리해두면 좋을 것 같아 작성해보았다.


목차

  • To integer
    • Double to integer
    • String to integer
    • Char to integer
  • To double
    • Integer to double
  • To char
    • Integer to char
    • String to char
    • String to char Array
  • To String
    • Integer to String
    • Double to String
    • Char to String


➡️ Integer

그냥 단순히 (int)b 로 명시적 형변환을 하면, 값이 손실된다. 따라서 Math 클래스 내부함수(ceil(): 반올림)를 이용하여 형변환 해야한다.

String을 Integer로 바꾸는 형변환은 두 가지를 사용했다. Integer.parseInt(str)Integer.valueOf(str).intValue().

그런데 위 두함수를 출력함수에 직접 넣어서 출력하면 int형으로 형변환되지 않는것으로 보인다. Integer.parseInt(c)+10100으로 출력되어야 하지만, 9010으로 출력됨을 알 수 있다.

그래서 int형 변수를 만들어서 형변환 함수 결과를 저장하고 이를 출력하면 연산에 사용할 수 있었다.

char형을 int로 형변환하면 char형에 담겨있는 데이터를 ASCII 코드테이블에 따라서 decimal(십진법)로 변환해준다.


➡️ double

이 경우엔 단순히 변수 앞에 (double)을 붙여서 강제 명시적 형변환을 해서 바꿀 수 있다. 그러나 원래 데이터 타입만 바뀌었을 뿐, 원래 데이터와 똑같은 값을 가지는걸 알 수 있다.


➡️ char

int형을 char형으로 변환하면, int형 값 ASCII 코드 테이블에 따라 decimal에 대입하여 symbol을 출력한다.

Stringchar로 변환할 때엔 문자열을 인덱스마다 나눠서 char형으로 저장한다. c.charAt(index) 를 이용하면 index에 따라 문자열을 문자형으로 바꿔서 가져올 수 있다.

또 문자열 전체를 문자형(char) 형태로 변환하고자 한다면 문자형 배열을 만들어서 저장하는 방법이다. Arrays.toString(char.toCharArray())


➡️ String

문자열(String)로 형변환할 때엔 String.valueOf() 를 사용한다. 잘 바뀌었는지 확인하기 위해 문자형(char) 데이터와 문자열(String) 데이터와 비교하여 boolean 값을 출력하는 테스트를 해보았다. 문자열로 형변환한 데이터와 "d"와 비교했을때 true, 'd'와 비교했을 때 false를 출력한걸로 보아 성공적으로 형변환되었음을 확인하였다.