자바(Java) - 타입의 변환

지원·2023년 8월 26일

Java Programming

목록 보기
4/25

double형 타입은 정수값이 잘 대입된다.


  • double은 실수 값을 가지므로 정수 값도 가질 수 있다.

  • 다음이 가능하다.

  • 이를 묵시적 타입 변환(자동 타입 변환, implicit conversion)이라 한다.

double d1 = 50;
double d2 = 500L;
  • int형 리터럴 50, long형 500L이 모두 d1, d2에 저장된다.

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


  • 실수는 정수를 포함하지만, 정수는 실수를 포함하지 않으므로 아래의 코드는 컴파일 오류가 발생한다.
int i1 = 50.0;
int i2 = 25.4f;


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


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

  • ❗주의할 점은 소수점 이하는 잘린다.

  • 이를 명시적 타입 변환( 강제 타입 변환, explicit conversion )이라고 한다.

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

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

  • 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);
  • 실행결과
5
5

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

long x = Long.MAX_VALUE;
int i = (int)x;

System.out.println(x);
System.out.println(i);
  • 실행 결과
9223372036854775807
-1

⭐자바 강제 형변환 시 주의할 점 검색해보기

profile
우주 정복자

0개의 댓글