JAVA 자동 형변환

sun·2024년 10월 22일
0

java

목록 보기
36/38

암시적 형변환

실수 : float / double

double:a =3.3F;

3.3F; 라는 상수를 a 변수에 대입하는 순간 자바가 F가 붙어있어도 더블형으로 자동으로 암시적으로 형변환이 되는것이다.

자동으로 형변환 해주는 이유
더 많은 정보를 수용할 수 있도록하기 위해


float:a =3.3;

3.3;더블형의 데이터를 float에 넣는 코드
but 오류 발생 why?
더블이 더 많은 데이터를 수용할 수 있기 때문이다.

자동 형 변환의 원칙은 표현범위가 좁은 데이터 타입에서 넓은 데이터 타입으로의 변환만 허용된다는 것이다.

(정수)byte -> short / char -> int -> long -> (실수)float -> double

int a = 3;
float b = 1.0F;
double c = a+b ;

  1. int인 3을 float 형으로 변환시켜 3.0F로 만든다.
  2. float 타입인 b 의 1.0F
  3. 변환시킨 a = 3.0F 와 b 인 1.0F 값을 더한다.
  4. 고로 c의 값은 4.0F

명시적 형 변환

수동으로 직접 형변환 하는 것, Explic Conversion

float a =100.0; -> 정보 손실 때문에 자동형변환이 되지 않음
int b =100.0F; -> int보다 float이 넓은 범위기 때문에 정보손실의 우려로 자동 형변환이 되지 않는다.

하지만 명시적으로 변환할 수 있는 방법은 아래와 같다.

float a = (float)100.0;
int b = (int)100.0F;

0개의 댓글