산술 연산자(+, -, *, /, %)
: boolean 타입을 제외한 모든 기본타입에 사용 가능하다.
연산식 |
설명 |
||
피연산자 |
+ |
피연산자 |
덧셈 연산 |
피연산자 |
- |
피연산자 |
뺄셈 연산 |
피연산자 |
* |
피연산자 |
곱셈 연산 |
피연산자 |
/ |
피연산자 |
좌측 피연산자를 우측 피연사로 나눗셈 연산 |
피연산자 |
% |
피연산자 |
좌측 피연산자를 우측 피연산자로 나눈 나머지를 구하는 연산 |
: 피연산자들의 타입이 동일하지 않을 경우 피연산자들의 타입을 일치시킨 다음 연산을 수행한다.
1. 피연산자들의 타입은 모두 정수타입이고 연산의 산출타입은 int 타입이다. (JVM:자바가상기계 가 기본적으로 32 비트 단위로 계산하기 때문)
: byte + byte -> int + int = int
2. 피연산자들의 타입은 모두 정수타입이고 long 타입이 있을 경우 모든 타입을 long 타입으로 변환한다. 즉 산출타입은 long 타입이다.
: int + long -> long + long = long
3. 피연산자 중 실수타입이 있을 경우, 크키가 큰 실수 타입으로 변환한다. 즉 산출타입은 실수 타입이다.
: int + double -> double + double = double
- 크기 : int 타입 > long 타입 > 실수 타입
1 2 3 4 5 6 | char c1 = 'A' + 1; //B char c2 = 'A'; // A char c3 = c2 +1; //컴파일 에러 : 산출타입은 int 타입인데 값을 담는 변수타입은 char 이므로 //char 타입으로 산출을 원한다면 강제 타입변환을 시켜준다. char c4 = (char)(c2 +1); | cs |