* 형변환(Casting)
: 값의 자료형을 바꾸는 것
단, boolean은 제외.
=> cast 연산자(형변환 연산자) 사용함
- 2순위인 단항연산자임.
- (바꿀자료형)값 또는 변수
=> 자동형변환과 강제(명시적) 형변환으로 구분할 수 있음
- 자동형변환
1. 자료형이 다른 값끼리 계산될 때
: 메모리 할당 크기가 큰 자료형으로 모두 바뀐 다음 계산됨.
int a = 12;
double d = 3.3;
double result = a + d => 12 + 3.3 => 12.0 + 3.3 => 15.3
2. 메모리 할당 크기가 큰 변수에 작은 자료형 값이 대입될 때
double dnum = 123;
//123(int) 이 123.0(double) 으로 바뀜 >> 123.0 이 dnum 에 대입됨.
- 강제(명시적) 형변환
: 소스 코드상에 직접 바꿀 자료형을 cast 연산자를 이용해서 명시함.
* 크기가 큰 자료형 값을 작은 크기의 자료형 값으로 바꿀 때
int a = (int)3.9;
char ch = (char)97;
** 컴퓨터의 값 처리 원칙 ==> 원칙이 지켜지지 않은 경우에 형변환 필요함
- 같은 종류끼리만 대입가능
- 같은 종류끼리만 계산가능
- 계산의 결과도 같은 종류의 값이 나와야 함
** 자바는 byte와 short 자료형 값의 계산 결과는 무조건 int 로 처리함.
byte b1 = 10;
byte b2 = 20;
byte b3 = b1 + b2; //error -> 결과 자료형이 int임
byte b3 = (byte)(b1 + b2);
or
int num = b1 + b2;
'Begin 2018' 카테고리의 다른 글
main 함수 작성법 (0) | 2018.04.09 |
---|---|
자바 프레임워크 과정 - 수강 5일차 (연산자) (0) | 2018.04.07 |
자바 프레임워크 과정 - 수강 5일차 (연산자) (0) | 2018.04.07 |
자바 프레임워크 과정 - 수강 5일차 (0) | 2018.04.07 |
자바 프레임워크 과정 - 수강 4일차 (형변환) (0) | 2018.04.06 |
자바 프레임워크 과정 - 수강 4일차 (0) | 2018.04.06 |
자바 프레임워크 과정 - 수강 3일차 (변수) (0) | 2018.04.05 |
자바 프레임워크 과정 - 수강 3일차 (변수와 Scanner) (0) | 2018.04.05 |