'단순 대입 연산자(=)' 는 수학의 산술의 결과를 나타내는 의미와는 다르게 사용됩니다.예를 들어 다음과 같은 코드를 보게되면
int t1 = 10; // 상수를 저장한다
int t2 = t1; // 변수를 저장한다
int t3 = t2 + 5; // 연산식의 결과를 저장한다
int t4 = ran.nextInt(); // 함수실행 결과를 저장한다
1) 우변의 값을 좌변의 공간에 복사하여 저장한다 2) 우변에 연산식이 있다면, 연산이 끝난후의 값을 저장한다 3) 우변에 함수가 있다면, 함수를 실행한 결과가 나온 이후 저장한다 4) 항상 오른쪽을 먼저 처리하며, 오른쪽에 결과가 정해지면 왼쪽에 담는다로 이해할 수 있습니다.
해당 개념에서 다시 한번 더 강조드리지만
절대!!! 두 항이 '같다' 라고 이해하시면 안됩니다!!!다음은 '복합 대입 연산자' 는 '배정 대입 연산자' 라고도 하며 종류로는 '+=', '-=', '*=', '/=', '%=' 이 있습니다.사용 방식은 아래와 같습니다.
int n1 = 1;
int n2 = 2;
// 변수 = 변수 + 피연산자 => 변수 += 피연산자;
System.out.println("(n1 = n1 + n2) => (n1 += n2)");
// 변수 = 변수 - 피연산자 => 변수 -= 피연산자;
System.out.println("(n1 = n1 - n2) => (n1 -= n2)");
// 변수 = 변수 * 피연산자 => 변수 *= 피연산자;
System.out.println("(n1 = n1 * n2) => (n1 *= n2)");
// 변수 = 변수 / 피연산자 => 변수 /= 피연산자;
System.out.println("(n1 = n1 / n2) => (n1 /= n2)");
// 변수 = 변수 % 피연산자 => 변수 %= 피연산자;
System.out.println("(n1 = n1 % n2) => (n1 %= n2)");
int result = 0;
result += 10;
System.out.println("result = " + result);
result -= 5;
System.out.println("result = " + result);
result *= 2;
System.out.println("result = " + result);
result /= 5;
System.out.println("result = " + result);
result %= 5;
System.out.println("result = " + result);
<※ 결과는 다음과 같습니다.>
'단항 증감 연산자' 는 1개의 변수에 대하여 작동하며 값을 '1'증가 시키거나 '1'감소 시킵니다.이때 다른 작업 전 해당 값을 증가시키는 연산을 '전위' 라고 하며 다른 작업 후 해당 값을 증가시키는 연산을 '후위' 라고 합니다.
int num = 10;
System.out.println(++num); // 전위, 전치 증가 연산 (먼저 증가, 이후 출력)
System.out.println(num++); // 후위, 후치 증가 연산 (먼저 출력, 이후 증가)
System.out.println(num--); // 후위 감소 연산 (먼저 출력, 이후 감소)
System.out.println(--num); // 전위 감소 연산 (먼저 감소, 이후 출력)
<※ 결과는 다음과 같습니다.>