JAVA

형 변환

오선지♬ 2022. 2. 8. 18:34
728x90
반응형

형변환이란, 변수 또는 상수의 타입을 다른 타입으로 변환하는 것

 ( 타입 ) 피연산자

    ex ) double d = 85.4;

          int score = ( int ) d;   // int score = 85;

 

출처 : 자바의 정석          

 

 

자동 형 변환

형 변환을 하는 이유는 서로 다른 두 타입을 일치시키기 위함이다.

형 변환을 생략하면 컴파일러가 알아서 기존의 값을 최대한 보존할 수 있는 타입으로 자동 형 변환을 한다.

표현 범위가 좁은 타입에서 넓은 타입으로 형 변환하는 경우에는 값 손실이 없으므로 둘 중에 표현 범위가 넓은 쪽으로 형변환 된다.

 

출처 : 자바의 정석

long 형은 8byte고 float는 4byte이지만 표현범위는 float이 더 넓어서 ( long형은 10^19 < float형은 10^38 )

long형에서 float형으로 자동 형변환이 가능하다.

 

 - 타입은 표현범위가 더 좁아도 해당 타입의 범위 내의 값이면 값 손실이 없으므로 컴파일러가 자동으로 형변환 해준다.

   ex) byte b = 100; // 100이 int 형이지만 byte의 값의 범위 ( -128 ~ 127 ) 안에 100이 포함되므로 자동 컴파일 가능.

 

 - 값 손실이 일어나는 경우에는 반드시 ( 타입 )을 써주어 수동형변환 해주어야 한다.

728x90
반응형

'JAVA' 카테고리의 다른 글

println 과 printf  (0) 2022.02.09
타입 간의 변환 방법  (0) 2022.02.08
변수 ( Variable )  (0) 2022.02.08
자바의 특징  (0) 2022.02.07
[JAVA] Calendar 클래스  (0) 2022.02.05