전위/후위 연산 ++

SELOG·2024년 1월 4일
0

JAVA

목록 보기
4/4

Java 증가 연산자의 이해

Java에서 증가 연산자는 종종 혼란을 야기할 수 있는데, 특히 전위(++x)와 후위(x++) 증가 연산자의 차이가 그렇습니다.

이 문서에서는 몇 가지 예제를 통해 이들의 차이점과 사용 방법을 알아보겠습니다.


예제 1: 기본 증가 연산자 사용

public class Test {
    public static void main(String[] args) {
        int x = 12, y = 3, z = 0;
        z = (x++) + (++y);
        System.out.print(z);
    }
}

이 코드에서 z의 값은 얼마일까요? z = (x++) + (++y) 연산을 분석해 보면:
x++는 후위 증가 연산자입니다. x의 현재 값 12를 사용한 후, x는 13이 됩니다.
++y는 전위 증가 연산자입니다. y는 먼저 1 증가하여 4가 된 후, 그 값을 사용합니다.

  • 따라서 z의 계산은 z = 12 + 4, 즉 z의 값은 16입니다.


예제 2: for 루프와 증가 연산자

int x = 0, z = 0;
for (int i = 0; i < 5; i++) {
    x++;     // 후위 증가 연산자
    z += x;  // 여기에서 x 값을 사용
}

이 경우, x++는 후위 증가 연산자로, x의 현재 값을 사용한 후 x를 1 증가시킵니다. 그러나 x의 값은 z += x; 실행 후에 증가하므로, 각 반복에서 z에는 증가된 x의 값이 더해집니다.

  • 이 코드의 실행 결과, z의 최종 값은 15가 됩니다.

    첫 번째 반복: x가 0에서 1로 증가, z += 1 → z = 1
    두 번째 반복: x가 1에서 2로 증가, z += 2 → z = 3
    세 번째 반복: x가 2에서 3으로 증가, z += 3 → z = 6
    네 번째 반복: x가 3에서 4로 증가, z += 4 → z = 10
    다섯 번째 반복: x가 4에서 5로 증가, z += 5 → z = 15
    따라서, 이 for 루프가 완료된 후 z의 최종 값은 15가 됩니다.



예제 3: 후위 증가 연산자를 사용한 다른 경우

int x = 0, z = 0;
for (int i = 0; i < 5; i++) {
    z += (x++);  // x의 현재 값을 더한 후 x를 증가시킴
}

이 경우, z += (x++)에서 x의 현재 값을 z에 더하고, 그 후에 x가 증가합니다. 결과적으로 첫 번째 반복에서 z에는 0이 더해지고, 다음 반복에서는 1, 2, 3, 4가 차례로 더해집니다.

  • 따라서, 이 코드의 최종 z 값은 10이 됩니다.

    첫 번째 반복: x의 현재 값 0을 z에 더하고, 그 후 x는 1로 증가합니다. (z = 0 + 0 → z = 0)
    두 번째 반복: x의 현재 값 1을 z에 더하고, 그 후 x는 2로 증가합니다. (z = 0 + 1 → z = 1)
    세 번째 반복: x의 현재 값 2를 z에 더하고, 그 후 x는 3으로 증가합니다. (z = 1 + 2 → z = 3)
    네 번째 반복: x의 현재 값 3을 z에 더하고, 그 후 x는 4로 증가합니다. (z = 3 + 3 → z = 6)
    다섯 번째 반복: x의 현재 값 4를 z에 더하고, 그 후 x는 5로 증가합니다. (z = 6 + 4 → z = 10)
    따라서, 이 for 루프가 완료된 후 z의 최종 값은 10이 됩니다.

profile
금융 IT 전문가가 될거야

0개의 댓글