[Java의 정석] 단항 연산자

말하는 감자·2023년 11월 12일
0

Java의 정석

목록 보기
25/32
post-thumbnail

Chapter 03 연산자(Operator)

2. 단항 연산자

📌 증감 연산자 ++ --

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

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

일반적으로 단항 연산자는 피연산자의 왼쪽에 위치하지만, 증가 연산자 '++'와 감소 연산자'--'는 양쪽 모두 가능하다. 피연산자의 왼쪽에 위치하면 '전위형(prefix)', 오른쪽에 위치하면 '후위형(postfix)'이라고 한다.
전위형과 후위형 모두 피연산자의 값을 1 증가 또는 감소 시키지만, 증감연산자가 수식이나 메서드 호출에 포함된 경우 전위형일 때와 후위형일 때의 결과가 다르다.

++i;i++;처럼 증감연산자가 수식이나 메서드 호출에 포함되지 않고 독립적인 하나의 문장으로 쓰인 경우에는 전위형과 후위형의 차이가 없다.

++i;	// i의 값을 1 증가시킨다.
i++;	// 위의 문장과 차이 없다.
public 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);
	}
}

실행결과를 보면 i의 값은 두 모두 1이 증가되어 6이 되지만, j의 값은 그렇지 않다.
식을 계산하기 위해서는 식에 포함된 변수의 값을 읽어 와야 하는데, 전위형은 변수(피연산자)의 값을 먼저 증가시킨 후에 변수의 값을 읽어오는 반면, 후위형은 변수의 값을 먼저 읽어온 후에 값을 증가시킨다.

전위형 j=++i;에서 i의 값을 증가시킨 후에 읽어오므로 i의 값이 5에서 6으로 증가된 후에 이 값이 j에 저장되며, 후위형 j=i++;에서는 5를 먼저 읽어온 다음에 i를 증가시키니깐 j에 5가 저장된다.

증감 연산자가 포함된 식에서 증감 연산자를 따로 떼어내면 이해하기 쉬어진다. 전위형의 경우 증감연산자를 식의 이전으로, 후위형의 경우 증감연산자를 식의 이후로 떼어내면 된다.

📌 부호 연산자 + -

부호 연산자'-'는 피연산자의 부호를 반대로 변경한 결과를 반환한다.
피연산자가 음수면 양수, 양수면 음수가 연사의 결과가 된다.
부호 연산자'+'는 하는 일이 없으며, 쓰이는 경우도 거의 없다.
부호 연산자는 boolean형과 char형을 제외한 기본형에만 사용할 수 있다.


📑 원본 자료

  • Java의 정석(3판) [남궁 성/도우출판/2016]
profile
나는 말하는 감자다

0개의 댓글