728x90

 

☕ int형 타입에 실수를 대입하면 오류가 발생한다

- 실수는 정수를 포함하지만, 정수는 실수를 포함할 수 없기 때문에 아래의 코드는 컴파일 오류가 발생한다.

int i1 = 50.0;
int i2 = 25.4f;

☕ 실수 값을 정수에 저장하려면 형변환을 해야한다. 

- 실수값을 정수 타입의 변수에 저장하려면 정수타입을 형변환해야한다. 변환하고자 하는 값 앞에 (int)를 붙인다.

- 주의해야할 점은 소수점 이하 부분을 잘린다.

- 이를 명시적 타입 변환(강제 타입 변환)이라고 한다

int i1 = (int)50.0;
int i2 = (int)25.6f;

 

☕ 크기가 큰 타입은 작은 타입을 저장할 수 있다. 

- long 타입의 변수는 byte, short, int 타입의 값을 저장할 수 있다. 

- int 타입의 변수는 byte, short타입의 값을 저장할 수 있다.

- short 타입의 변수는 byte타입의 값을 저장할 수 있다. 

short s = 5;
int i = s;
long x = i;

System.out.println(i);
System.out.println(x);

 

☕ 예제: 형변환시 주의할점

- 크기가 큰 타입을 작은 타입에 저장할 때 오버플로우를 조심해야한다.  

public class PrimitveCastExam {
    public static void main(String[] args) {
        long x2 = 50;
        int i2= (int)x2;
        System.out.println(x2);
        System.out.println(i2);

        long x3 = Long.MAX_VALUE;
        int i3 = (int)x3;
        System.out.println(x3);
        System.out.println(i3);
    }
}
결과값:
50
50
9223372036854775807
-1

 

☕ 구글에서 JAVA에서 강제 형변환시 주의할 점 검색해보기

- 이 외에 다양한 문제점들이 나올 것이다.

728x90