[Java] 자동형변환(2)

Date:     Updated:

카테고리:

태그:

java.png

자동형변환

자동형변환과 강제 형변환을 이용한 다른 자료형끼리 연산
다른 자료형끼리 연산은 큰 자료형으로 자동형변환 후 연산처리뙨다

int inum = 10;
long lnum = 100;

두 수의 연산 결과를 int형으로 변환 후 int 자료형 변수에 리턴받는다

//int isum = inum + lnum;
int isum = (int)(inum + lnum);

long 형 값을 int 로 강제 형변환 한다

int isum2 = inum + (int)lnum;

결과값을 long으로 받는다(자동형변환 이용)

long lsum = inum + lnum;

주의사항 int 미만의 연산 처리의 결과는 int 형이다

byte bnum1 = 1;
byte bnum2 = 2;
short snum1 = 3;
short snum2 = 4;

//short snum = bnum1 + snum1; //에러발생
//byte b = bnum1 + bnum2;
int result = bnum1 + bnum2;
int result2 = bnum1 + snum1;
int result3 = snum1 + snum2;

형변환 사용시 주의할 점
데이터 손실에 유의해서 사용해야한다

의도하지 않은 데이터 손실

int inum = 290;
byte bnum = (byte) inum;

System.out.println("inum : " + inum);
System.out.println("bnum : " + bnum);       //비트 앞부분 손실로 예측이 어려움

  • 출력값
inum : 290
bnum : 34

의도한 데이터 손실

double height = 175.5;
int floorHeight = (int) height;

System.out.println("height : " + height);
System.out.println("fllorHeight : " + floorHeight);
  • 출력값
height : 175.5
fllorHeight : 175

요약. 다른 자료형끼리 연산은 큰자료형으로 자동형변환 후 연산처리

벌써 형변환까지 배웠다! 아직 갈길이 멀고 더 어려워지겠지만 흥미롭다!! 아잣!!

Java 카테고리 내 다른 글 보러가기

댓글 남기기