IT/Java

[Java] 부호 연산자 / 증감 연산자

Huitopia 2024. 2. 20. 15:52
728x90

부호 연산자

변수의 부호를 유지하거나 변경하는 연산자

연산식 설명
+ 피연산자 피연산자의 부호 유지
- 피연산자 피연산자의 부호 변경

 

증감 연산자

변수의 값을 1 증가시키거나 1 감소시키는 연산자

연산식 설명
++ 피연산자 피연산자의 값을 1증가
-- 피연산자 피연산자의 값을 1 감소
피연산자 ++ 다른 연산을 수행한 후에 피연산자의 값을 1 증가
피연산자 -- 다른 연산을 수행한 후에 피연산자의 값을 1 감소

단독으로 증감 연산자가 사용될 경우에는 변수의 앞뒤 어디에 붙어도 결과는 동일하다.

여러 개의 연산자가 포함되어 있는 연산식에서는 증감 연산자의 위치에 따라 결과가 달라진다.

int x = 1;
int y = 1;
int result1 = ++x + 10; // x를 1 증가 => 2 + 10
int result2 = y++ 10; // 1 + 10 => y를 1 증가

증감 연산자가 변수 앞에 있으면 우선 변수를 1증가 또는 1감소시킨 후 다른 연산을 수행한다.

증감 연산자가 변수 뒤에 있으면 모든 연산을 끝낸 후에 변수를 1증가 또는 1감소시킨다.

 

예제

package ch03.sec01;

public class IncreaseDecreaseOperatorExample {
    public static void main(String[] args) {
        int x = 10;
        int y = 10;
        int z;

        x++; // x = 11
        ++x; // x = 12
        System.out.println("x=" + x); // x = 12

        y--; // y = 9
        --y; // 7 =8
        System.out.println("y=" + y); // y = 8

        // 증감 연산자가 뒤에 있어 대입 먼저 되고 x++ 됨
        z = x++;
        System.out.println("z=" + z); // z = 12
        System.out.println("x=" + x); // x = 13

        z = ++x;
        System.out.println("z=" + z); // z = 14
        System.out.println("x=" + x); // x = 14

        // y의 증감 연산자가 뒤에 있어 대입과 +연산 후 y++됨
        z = ++x + y++;
        System.out.println("z=" + z); // 15 + 8
        System.out.println("x=" + x); // 15
        System.out.println("y=" + y); // 9
    }
}

 

 

 

 

 

728x90