[Java] 자동형변환(2)
카테고리: Java
태그: coding Programming Java
자동형변환
자동형변환과 강제 형변환을 이용한 다른 자료형끼리 연산
다른 자료형끼리 연산은 큰 자료형으로 자동형변환 후 연산처리뙨다
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
댓글 남기기