[Java] Part.2_기본형 타입변환

Haeun Noh·2022년 5월 17일
2

JAVA_programmers강의

목록 보기
6/12

0517


기본형 타입변환

형변환이란?

: 변수 또는 리터럴의 타입을 다른 타입으로 변환하는 것

순서

정수형보다 실수형이 크다.

  • long(정수형 8byte)은 float(실수형 4byte) 보다 작다.
byte > short, char > int > long > float > double

묵시적 형변환

  • 크기가 작은 타입을 크기가 더 큰 타입으로 바꿀 때
  • 자동 형변환
int x = 50000;
long y = x;  // 자동 형변환

// 실행결과 : 컴파일 가능

명시적 형변환

  • 크기가 큰 타입을 크기가 더 작은 타입으로 바꿀 때
  • 강제 형변환
long x2 = 5;
int y2 = (int) x2;  // 강제 형변환

// 실행결과 : 컴파일 가능
long x2 = 5;
int y2 = x2;

// 실행결과 : 크기가 더 큰 long을 int에 넣을 수 없으므로
             컴파일 에러


문제1

빈칸에 long 타입 변수, longValue를 선언하고, 변수를 intValue를 이용해 초기화해주세요.

문제 설명

  • int 타입의 변수를 long 타입에 넣는다.

힌트

묵시적 형 변환

  • 크기가 작은 타입을 크기가 더 큰 타입으로 바꿀 때는 컴파일러에 별도의 명령을 하지 않아도 됩니다.

아래의 예를 참고하여 문제를 해결하세요.

int x = 50000;
// 형 변환이 묵시적으로 이루어집니다.
long y = x;

기본 소스

public class TypeCastingExam {
    public static void main(String[] args) {
        int intValue = 200;
        //빈칸에 long타입 변수 longValue를 선언하고
          변수를 intValue를 이용해 초기화해보세요.=System.out.println(longValue);
    }
}

정답 소스

public class TypeCastingExam {
    public static void main(String[] args) {
        int intValue = 200;
        //빈칸에 long타입 변수 longValue를 선언하고
          변수를 intValue를 이용해 초기화해보세요.
        
        long longValue = intValue;

        System.out.println(longValue);
    }
}

실행 결과

출력 〉	200

기본형 타입변환 실습1 링크



문제2

빈칸에 int 타입 변수, intValue를 선언하고, 변수를 longValue를 이용해 초기화해주세요.

문제 설명

  • long 타입 변수를 int 타입에 넣는다.

힌트

명시적 형 변환

  • 크기가 더 큰 타입을 작은 타입으로 바꿀 때는 명시적으로 변환해주어야 합니다.

아래의 예를 참고하여 문제를 해결하세요.

long x = 50000;

// 묵시적 형 변환을 시도하면 오류가 발생합니다.
int y = x;
// 다음과 같이 명시적으로 형 변환 해주세요.
int y = (int) x;

기본 소스

public class TypeCastingExam {
    public static void main(String[] args) {
        long longValue = 20;
        //이 아래줄에 int형 변수 intValue를 선언하고
          longValue에 들어있는 값을 담아보세요.=System.out.println(intValue);
    }
}

정답 소스

public class TypeCastingExam {
    public static void main(String[] args) {
        long longValue = 20;
        //이 아래줄에 int형 변수 intValue를 선언하고
          longValue에 들어있는 값을 담아보세요.
        
        int intValue = (int) longValue;
        
        System.out.println(intValue);
    }
}

실행 결과

출력 〉	20

기본형 타입변환 실습2 링크


profile
기록의 힘을 믿는 개발자, 노하은입니다!

0개의 댓글