본문 바로가기

프로그래밍언어/JAVA

[JAVA] 연산자 - 단항 연산자

반응형

1. 증감 연산자 (++, --)

 

증감연산자는 피연산자에 저장된 값을 1 증가 또는 감소시킨다. 증감연산자의 피연산자로 정수와 실수 모두 가능하지만 상수는 값을 변경할  없기 때문에 불가능하다.

 

증감연산자는 값을 가져와 연산을 수행하고 해당 값으로 피연산자의 값을 변경한다.

 

  • 증가 연산자 (++): 피연산자의 값을 1 증가시킨다.
  • 감소 연산자 (--): 피연산자의 값을 1 감소시킨다.

일반적으로 단항 연산자는 피연산자의 왼쪽에 위치하지만 증감 연산자는 양쪽 모두 가능하다. 피연산자의 왼쪽에서는 전위형 (prefix), 피연산자의 오른쪽에서는 후위형 (postfix)라고 한다. 전위형과 후위형 모두 같은 연산을수행하지만 수식이나 메서드 호출에 사용되는 경우 연산이 수행되는 시점이 달라지기 때문에 결과가 달라진다.

 

  • 전위형: 값이 참조되기 전에 연산을 수행한다.
  • 후위형: 값이 참조되고  후에 연산을 수행한다.
int i = 5;
int j = 0;

j = i++;
System.out.println(i + " " + j);
// 6 5
// i는 증가 연산자를 통해서 값이 1 증가한 6을 출력하고, j는 후위 연산자로 사용된 증가 연산자가 연산을 수행하기 전인 5을 값으로 입력받아서 5를 출력한다.

i = 5;
j = 0;

j = ++i;
System.out.println(i + " " + j);
// 6 6
// 이번에도 i는 증가 연산의 결과인 6을 출력했고 j의 경우 전위 연산자로 값의 입력 이전에 증가 연산이 수행되어 6을 출력하였다.

 

증감연산자를 사용하면 코드가 간결해지지만 지나친 사용의 경우 코드가 복잡해져서 가독성이 떨어질  있다. 그렇기 때문에 실제 프로그래밍에서 증감 연산자의 사용은 최소화하고, 하나의 식에 두번 이상의 증감 연산자를사용하지 않도록 하는 것이 좋다.

 

 

2. 부호 연산자 (+, -)

 

부호 연산자는 피연산자의 부호를 변경한 결과를 반환한다. '-' 연산자의 경우 피연산자의 부호를 반대로 변경한다. '+' 연산자의 경우 따로 부호를 변경하지는 않고 부호를 명시적으로 보여주는 정도의 역할만 수행한다.

부호 연산자는 boolean 형과 char 형을 제외한 기본형에만 사용할  있다.

반응형