Just do IT
article thumbnail

Java Operator (증감 연산자)

▶ 증감 연산자 (increment and decrement operators)

※ increment : 인상, 증가

   decrement : 감소, 감량

- 피연산자를 1씩 증가 혹은 감소시킬 때 사용하는 연산자입니다. 이 연산자는 피연산자가 단 하나뿐인 단항 연산자입니다.

증감 연산자 설명
++x 먼저 피연산자의 값을 1 증가시킨 후에 해당 연산을 진행함
x++ 먼저 해당 연산을 수행하고 나서, 피연산자의 값을 1 증가시킴
--x 먼저 피연산자의 값을 1 감소시킨 후에 해당 연산을 진행함
x-- 먼저 해당 연산을 수행하고 나서, 피연산자의 값을 1 감소시킴

- 예시를 통해 연산자가 어떻게 되는지 확인해보도록 합시다.

public class Operator{
	public static void main(String[] args){
    	int num1 = 7, num2 = 7;
        int result1, result2;
        
        result1 = --num1 + 4;
        result2 = num2-- + 4;
        
        System.out.println("전위 감소 연산자에 의한 결과 : " + result1 + ", 변수의 값 : " + num1);
        System.out.println("후위 감소 연산자에 의한 결과 : " + result2 + ", 변수의 값 : " + num2);
    }
}
----------------------------------------------------------------------------------------------------
출력 결과
전위 감소 연산자에 의한 결과 : 10, 변수의 값 : 6
후위 감소 연산자에 의한 결과 : 11, 변수의 값 : 6

위의 예제에 대한 해석

- result1 = --num1 + 4 : --num1로 num1이 6이 된 후에 +4가 되어 결과가 10이 나온 것이며, 그 상태로 num1이 출력되었기 때문에 num1이 6이 출력된 것입니다.

- result2 = num2-- + 4 : num2이 7인 상태에서 +4가 되어 결과는 11이 나온 것이며 그 후에 num2가 -1을 진행하였기에 출력했을 때의 num2는 6이 출력된 것입니다.


▶ 증감 연산자의 연산 순서

- 증감 연산자는 피연자의 어느 쪽에 위치하는가에 따라 연산의 순서가 달라집니다.

- 증감 연산자의 연산 순서에 대한 예제를 보여드리겠습니다.

public class Operator{
	public static void main(String[] args){
    	int x = 10;
        int y = x-- + 5 + --x;
        
        System.out.pringln("x: " + x + ", y: " + y);
    }
}
---------------------------------------------------------------
출력 결과
x: 8, y: 23

어떠한 순서로 연산이 이루어져서 결과가 나온 것인지 설명을 해드리겠습니다.

1. x-- + 5 가 제일 먼저 이루어 집니다. 10 + 5 가 이루어진 후 --x의 연산이 이루어 지게 됩니다 > x: 9

2. 10 +5 의 연산 후 15 + --x의 연산이 이루어 지게 됩니다.

3. 15 + --x에서는 --x의 연산이 먼저 이루어지기 때문에 x = 9 - 1이 됩니다. > x: 8

4. 그러면 연산의 결과는 15 + 8이 되므로 23이 나오게 되며 23의 값이 y에 결과값에 들어가게 됩니다. > y: 23

 

y = x-- + 5 + --x;의 순서를 다시한번 정리해 드리겠습니다.

① x-- + 5 = 10 + 5 = 15

② x-- = 10 - 1 - 9

③ --x = 9 - 1 = 8

④ 15 + --x = 15 + 8 = 23

⑤ y = 23

 

※ x의 값이 처음에 10으로 한번 정해졌기 때문에 이후에 연산에서는 x의 값이 초기화되지 않는 이상은 계속 바뀌게 됩니다. 즉, x--의 연산을 통해 나온 x값을 가지고 --x값을 연산을 하게 됩니다.

 

Java Operator (비교 연산자)

'Programing > JAVA' 카테고리의 다른 글

Java Operator (논리 연산자)  (0) 2021.07.19
Java Operator (비교 연산자)  (0) 2021.07.19
Java Operator (대입 연산자)  (0) 2021.07.19
Java Operator (산술 연산자)  (0) 2021.07.19
JAVA Exercise (1)  (0) 2021.07.16
profile

Just do IT

@AmyG

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!