아무거나

형변환(Type Conversion) 본문

Java & Kotlin/Java

형변환(Type Conversion)

전봉근 2019. 6. 13. 11:19
반응형

형변환(Type Conversion)

 

1. 자동 형 변환

   - double a = 3.0F;   // double 타입이 float 타입보다 더 많은 수를 표현할 수 있기 때문에 에러가 안난다.

   - float a = 3.0; // 3.0이 double형 데이터고 a는 float 데이터 이므로 double형 변수를 float에 담으려고 하기 때문에 오류가 난다. 이유는 표현범위가 float < double 이기 때문

 

(1) 형변환이 일어나는 규칙

    byte -> short, char -> int -> long -> float -> double

    - byte ~ long는 정수

    - float ~ double는 실수

 

(2) 예제

    int a = 3;

    float b = 1.0F

    double c = a + b; // ???

    [풀이]

    1. 정수 -> 실수 3.0F + 1.0F = 4.0F

    2. c의 데이터 타입은 double형이므로 4.0F가 double형으로 자동 형 변환이되어 double c에 담긴다.

 

 

2. 명시적 형 변환

float a = 100.0  // 에러 -> double > float

int b = 100.0F;  // 에러 -> 실수를 정수에 데이터로 담으려하니 소수점 데이터가 날아가게 되므로 에러

 

위의 예제를 수정한 내용

float a = (float)100.0;

int b = (int)100.0F;  // 100.0 이 100으로 바뀌게 되면서 int b에 담아진다.

반응형

'Java & Kotlin > Java' 카테고리의 다른 글

비교와 Boolean  (0) 2019.06.17
연산자(나눗셈, 형변환)  (0) 2019.06.13
상수의 데이터 타입  (0) 2019.06.11
데이터 타입  (0) 2019.06.11
@Deprecated 이란  (0) 2019.06.07
Comments