[Java] 변수_변수 타입 변환(Reference type)

jeong·2021년 5월 9일
0

Java 자바

목록 보기
3/28

변수_변수 타입 변환(Reference type)

타입 변환(type conversion) : 하나의 타입을 다른 타입으로 바꾸는 것
boolean을 제외한 기본 타입들은 자유롭게 변환 가능하다.

//변수기본타입 정리글
[](https://velog.io/@jeong11/Java-variable-primitive-type
)

묵시적 타입 변환(자동 타입 변환)

묵시적 타입 변환 : 대입 연산이나 산술 연산에서 컴파일러가 자동으로 수행해주는 타입 변환을 말함

자바에서는 데이터의 손실이 발생하지 않거나, 데이터의 손실이 최소화되는 방향으로 묵시적 타입 변환을 진행합니다.

1) double num1 = 10;
2) double num2 = 7.0f + 3.14;

System.out.println(num1); //출력값 : 10.0
System.out.println(num2); //출력값 : 10.14

//1)번 라인 : double형 변수에 int형 데이터를 대입해, int형 데이터가 double형으로 자동 타입 변환
//2)번 라인 : float형 데이터와 double형 데이터의 산술 연산, float형이 double형으로 자동 타입 변환

자바 컴파일러가 자동으로 수행하는 타입 변환은 언제나 데이터의 손실이 최소화되는 방향으로 이루어진다.
타입의 표현 범위에 따라 다음과 같은 방향으로 자동 타입 변환이 이루어짐.

  • byte형 → short형 → int형 → long형 → float형 → double형
  • char형 → int형 → long형 → float형 → double형

명시적 타입 변환(강제 타입 변환)

명시적 타입 변환 : 사용자가 타입 캐스트 연산자(())를 사용하여 강제적으로 수행하는 타입 변환을 말함

df

int num1 = 1, num2 = 4;
1) double result1 = num1 / num2;
2) double result2 = (double) num1 / num2;

System.out.println(result1); //출력값 : 0.0
System.out.println(result2); //출력값 : 0.25

//1) : int형 데이터끼리의 산술 연산에 대한 결과값은 언제나 int!!! 
//1 나누기 4의 결과로는 0.25가 반환되지만, int형으로 자동 타입 변환되어 0이 반환된다. 그리고 double형 변수에 그 결과가 대입될 때, double형으로 자동 타입 변환되어 0.0 값 출력
//2) : 1)보다는 정확한 결과 출력 
//피연산자 중 하나의 타입을 double형으로 강제 타입 변환, 피연산자 중 하나가 double형이 되면, 나눗셈 연산을 위해 나머지 피연산자도 double형으로 자동 타입 변환
//실수값 0.25가 출력됨

타입간의 변환 방법

1) 숫자 -> 문자 / 문자 -> 숫자

3 -> '3'
방법 : +'0'
'3' -> 3
방법 : -'0'

2) 숫자 -> 문자열 / 문자열 -> 숫자

3 -> "3"
방법 : +""(빈 문자열 더하기)
"3" -> 3
방법 : Integer.parseInt("3"); //메소드 사용

3) 문자 -> 문자열 / 문자열 -> 문자

'3' -> "3"
방법 : +""
"3" -> '3'
방법 : "3"charAt(0); // /변수명

4) 기타

문자열 -> 숫자(실수)
"3.4" -> 3.(0) 
방법 : Double.parseDouble("3.4");
profile
배우는 초보개발자

0개의 댓글