package operator;
public class Ex3 {
public static void main(String[] args) {
/*
* 확장(복합) 연산자
* - 산술 연산자와 대입 연산자를 결합한 연산자
* - +=, -=, *=, /=, %=
*
*/
int a = 10;
// a + 10의 연산 결과를 다시 변수 a에 저장
// a = a + 10; // 10 + 10 = 20
a += 10; // 확장연산자(연산 결과는 동일함)
System.out.println(a);
// a - 10의 연산 결과를 다시 변수 a에 저장
// a = a - 10;
a -= 10;
System.out.println(a);
// a * 10의 연산 결과를 다시 변수 a에 저장
a *= 10;
System.out.println(a);
// a / 10의 연산 결과를 다시 변수 a에 저장
a /= 10;
System.out.println(a);
// a % 10의 연산 결과를 다시 변수 a에 저장
a %= 10;
System.out.println(a);
System.out.println("===================================");
a = 10;
int b = 10;
// a와 b를 더한 결과를 a에 저장
a += b; // a = a + b; 동일한 코드
System.out.println(a);
char ch = 'A';
// ch = ch + 3; // 오류 발생! char + int = int + int = int이므로 형변환 필수!
ch = (char) (ch + 3);
System.out.println(ch);
// 확장 연산자를 사용하면 연산과정에서 자동형변환이 일어나지 않음
ch += 3; // 연산결과가 그대로 char가 되므로 형변환이 필요없음!
System.out.println(ch);
}
}