Java 형변환

구름·2022년 11월 12일

Java_1

목록 보기
2/19

형변환

타입변환(캐스팅)

  1. 캐스팅 방법 1️⃣
    ✍️정수의 기본은 int 형으로 저장됨

int value1 = (int) 5.3; //value1에는 정수 값만 넣을 수 있다. long value2 = (long)10.0000344; // 정수만 넣을수 있다.

✍️실수의 기본은 double

float value3 = (float) 5.8;

float value3 = 5.8f; / float을 명시하지 않을 경우 int로 인지

double value4 = 10.50;

✍️ long , float의 정의된 변수에 값을 할당 할 때 캐스팅 해서 넣어야한다.
정수 : int , 실수 : double

long value5 = 10L ; //앞에다 캐스팅 할때 앞에(long)을 붙임 , 뒤에선 앞글자만
long value6 = 20L ;

자동 타입변환 (업 캐스팅) vs 수동 타입 변환 (다운 캐스팅)

  1. 자동 타입변환 (업캐스팅 : 낮은 자료형에서 높은 자료형으로 자동 변환)

💡 byte => short => int => long => float => double

float value1 = 3 ; //int => float형으로 업캐스팅 되어 들어감
long value2 = 5 ; // int => long 으로 자동으로 업캐스팅 
double value3 = 7; // int => double 으로 자동으로 업캐스팅
  1. 수동으로 타입 변환 (다운 캐스팅: 높은 자료형에서 낮은 자료형으로 변환)
int value4 = (int) 3.5; // double의 값을 => int 다운캐스팅 
float value5 = (float) 7.8; // 실수의 값의 기본형은 double이므로 double=>float다운
System.out.println(value4);
System.out.println(value5);

같은 자료형 간의 연산 vs 다른 자료형 간의 연산

  1. 같은 자료형 간의 연산

int value1 = 3+5 ; //8
double value2 = 8/5 ; //1.0 소숫점 이하의 자리는 x

🙆‍ 8/5의 값의 처리가 int형으로 계산한뒤 그 다음 double로 처리가 되기 때문에 1.0으로 값이 출력된다.

double data4 = 8/5.0; // 정수의 8, double형으로 자동 업캐스팅 System.out.println(data4); // 1.6

🙋‍ 한개의 값이라도 double형이면 앞의 int형이 자동으로 업캐스팅 되어서 double형으로 출력이 가능하다.

profile
내가 보려고 하는 업데이트

0개의 댓글