반응형
산술 변환(usual arithmetic conversion)이란?
피연사자의 타입이 서로 다르다면 연산 전에 형변환 연산자로 타입을 변환
대부분의 경우 작은 타입에서 큰 타입으로 형변환하는 경우, 자동적으로 형변환되므로 형변환 연산자를 생략 할 수 있다.
int i = 10;
float f = 20.0f;
float result = f + (float)i; // 형변환으로 두 피연산자의 타입을 일치
float result = f + i; // 큰 타입으로 형변환시, 형변환연산자 생략가능
산술 변환의 규칙
모든 연산에서 산술 변환이 일어나지만, 쉬프트 연산자(<<, >>), 증감 연산자(++, --)는 예외이다.
- 두 피연산자의 타입을 같게 일치시킨다.(보다 큰 타입으로 일치)
- long + ing → long + long → long
- float + int → float + float → float
- double + float → double + double → double
- 피연산자의 타입이 int보다 작은 타입이면 int로 변환된다.
- byte + short → int + int → int
- char + short → int + int → int
반응형
'Java' 카테고리의 다른 글
산술 연산자 (0) | 2021.09.11 |
---|---|
단항 연산자 (0) | 2021.09.11 |
연산자(orperator) (0) | 2021.09.11 |
형변환(Casting) (0) | 2021.09.11 |
기본형(primitive type) 변수 (0) | 2021.09.11 |