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