
증감 연산자는 변수의 값을 1 증가시키거나 1 감소시키는 연산자로 연산 수행 시 피연산자 타입 변환이 불필요하다.

그러나, 증감연산자가 수식이나 메서드 호출에 포함되지 않고 독립적인 하나의 문장으로 쓰인 경우에는 전위형과 후위형의 차이x
++i; // i의 값을 1 증가
i++; // 위의 문장과 차이 x
피연산자들의 타입이 동일하지 않을 경우 타입 일치시킨 후 연산을 수행한다.
두 피연산자가 모두 int타입인 경우, 나누기 연산 결과는 int타입이다. int타입은 소수점을 저장하지 못하므로 정수만 남고 소수점 이하는 버려진다.
올바른 연산결과를 얻기 위해서는 두 피연산자 중 어느 한 쪽을 실수형으로 형변환 해야한다.
public class ArithmeticOperatorExample {
public static void main(String[] args) {
int v1 = 5;
int v2 = 2;
int result1 = v1 + v2;
System.out.println("result1 : " + result1);
int result2 = v1 - v2;
System.out.println("result2 : " + result2);
int result3 = v1 * v2;
System.out.println("result3 : " + result3);
int result4 = v1 / v2;
System.out.println("result4 : " + result4);
// 소수점 이하의 수까지 구하기 위해서는 피연산자 중 하나는 실수 타입이어야함
double result6 = (double) v1 / v2;
System.out.println("result6 : " + result6); // 2.5
// int 타입의 연산 결과는 int인데 이를 double 타입으로 저장한다고 해서 소수점 이하의 값이 출력되지 않음
double result = v1 / v2;
System.out.println("result : " + result); // 2.0
int result5 = v1 % v2;
System.out.println("result5 : " + result5);
}
}