Java
[Java] 단항연산자
gorusair
2021. 12. 10. 21:56
증감 연산자 ++ --
증감연산자는 피연산자에 저장된 값을 1 증가 또는 감소시킨다. 증감연산자의 피연산자로 정수와 실수가 모두 가능하지만, 상수는 값을 변경할 수 없으므로 가능하지 않다.
증가 연산자(++) 피연산자의 값을 1 증가시킨다.
감소 연산자(--) 피연산자의 값을 1 감소시킨다.
일반적으로 단항 연산자는 피연산자의 왼쪽에 위치하지만, 증가 연산자'++'와 감소 연산자 '--'는 양쪽 모두 가능하다.
피 연산자의 왼쪽에 위차하면 '전위형', 오른쪽에 위치하면 '후위형'이라고 한다.
타입 | 설명 | 사용예 |
전위형 | 값이 참조되기 전에 증가시킨다. | j = ++i; |
후위형 | 값이 참조된 후에 증가시킨다. | j = i++; |
* 독립적인 하나의 문장으로 쓰인경우에는 전위형과 후위형의 차이가 없다.
class OperatorEx1 {
public static void main(String[] args[]){
int i = 5;
i++; // i= i+1;과 같은 의미이다. ++ i;로 바꿔 써도 결과는 같다.
System.out.println(i);
i = 5; // 결과를 비교하기 위해 i 값을 다시 5로 변경
++i;
System.out.println(i);
}
}
실행결과
6
6
class OperatorEx2{
public static void main(String args[]){
int i =5, j=0;
j = i++;
System.out.println("j=i++; 실행후, i="+i+",j+"+j);
i=5; //결과를 비교하기 위해,i와 j의 값을 다시 5와 0으로 변경
j=0;
j = ++i;
System.out.println("j=++i; 실행후, i="+i+",j+"+j);
실행결과
j = i++; 실행후, i=6, j=5
j = ++i; 실행후, i=6, j=6
메서드 호출에 증감연산자가 사용된 예
class OperatorEx3{
public static void main(String args[]){
int i = 5, j= 5;
System.out.println(i++);
System.out.println(++j);
System.out.println("i= " + i +",j= "= +j);
실행결과
5
6
i = 6, j =6
부호 연산자 + -
부호 연산자'-'는 피연산자의 부호를 반대로 변경한 결과를 반환한다.
부호연산자는 boolean형과 char형을 제외한 기본형에만 사용할 수 있다.
class OperatorEx4{
public static void main(String[] args){
int i = -10;
i = +i;
System.out.println(i);
i = -10;
i = -i;
System.out.println(i);
}
}
실행결과
-10
10