증감 연산자 ++ –
증감연산자는 피연사자에 저장된 값을 1 증가 또는 감소시킨다.
증감연산자의 피연산자로 정수와 실수가 모두 가능하지만, 상수는 값을 변경할 수 없으므로 기능하지 않는다.
증감 연산자(++)
감소 연산자(–)
일반적으로 단항 연산자는 피연산자의 왼쪽에 위피하지만, 증감 연산자와(++) 감소연산자(–)는 양쪽 모두 가능하다. 피연산자의 왼쪽에 위치하면 ‘전위형(prefix)’, 오른쪽에 위치하면 ‘후위형(postfix)’ 이라고 한다.
예제
1 | class OperatorEx1 { |
i의 값을 증가시킨 후 출력할 때, 한번은 전위형(++i)을 사용했고, 또 한 번은 후위형 (i++)을 사용했다. 결과를 보면 두 번 모두의 i의 초기값 5에서 1이 증가된 6이 출력됨을 알 수 있다.
이 경우에는 어떤 수직에 포함된 것이 아니라 단독적으로 사용된 것이기 때문에, 증감연산자(++)를 피연산자의 왼쪽에 사용한 경우 (진위형, ++i)와 오른쪽에 사용할 경우 (후위형, i++)의 차이는 없다.
그러나 다른 수식에 포함되거나 메서드의 메개변수로 사용된 경우, 즉 단독으로 사용되지 않은 경우 진위형(i++)과 후위형(i++)의 결과는 다르다.
1 | public static void main(String args[]) { |
실행결과를 보면 i의 값은 두 경우 모두 1이 증가되어 6이 되지만, j의 값은 그렇지 않다. 식을 계산하기 위해서는 식에 포함된 변수의 값을 읽어 와야 하는데, 전위형은 변수(피연산자)의 값을 먼저 증가시킨 후에 변수의 값을 읽어 오는 번면, 휘위형은 변수의 값을 먼저 읽어온 후에 값을 증가시킨다.
1 | j = ++i; //진위형 |
다음은 메서드 호출에 증감연산자가 사용된 예제이다.
1 | public static void main(String arge[]) { |
i는 값이 증가되기 전에 println()으로 i에 저장된 값을 5를 넘겨주고 나서 i의 값이 증가하기 떄문에 5가 출력되고 j의 경우 j에 저장된 값을 증가 시킨 후에 println()에게 값을 넘겨주므로 6이 출력 된다. 결과적으로는 i, j 모두 1씩 증가되어 6이 된다.
부호 연산자 + -
부호 연산자 ‘-‘는 피연산자의 부호를 반대로 변경한 결과를 반환한다. 피연산자가 음수명 양수 양수면 음수가 연산의 결과가 된다. 부호연산자의 ‘+’는 하는 일이 없고, 쓰이는 경우도 없다. 부호 연산자는 boolen형과 char형을 제외한 기본형에만 사용할 수 있다. 아래 예제를 보면 이해가 갈 것이다.
1 | public static void main(String arge[]) { |
- 작성자: LEE Young Bin
- Github : http://dudqls5271.github.io/2021/10/14/hexo_JAVA05/
- 저작권 : 본 블로그의 모든 글은 특별 성명서를 제외하고, MIT 이선스 협약을 채택하고 있습니다. 복사 할 때 출처를 밝혀주세요!