부호(+, -) 연산자
부호 연산자는 숫자에서 양수 또는 음수를 표현하기 위한 + 또는 - 기호를 의미합니다. 부호 연산자는 boolean과 char 타입을 제외한 Primitive 타입에서 모두 사용 할 수 있습니다.
구분 | 연산자 | 항의 개수 | 연산식 결과 |
부호 | + 또는 - | 단항 | 양수 또는 음수 |
리터럴 상수에 부호 연산자를 전위 연산자로 붙여서 사용하며, 숫자를 저장하고 있는 다른 변수에도 사용 할 수 있습니다.
int a = +100; // 100
int b = +a; // 100
int c = -a; // -100
부호 연산자를 사용 시 주의할 점은, 정수형 피연산자의 경우 산출 타입이 int 타입이 된다는 점입니다. 아래 예시를 보면, 변수 a와 b는 부호 연산자를 붙였을 때 산출 타입이 int 타입입니다. long 타입 변수 d의 경우에도 산출 타입은 int 타입이지만, 기존 피연산자의 데이터 범위가 더 크기 때문에 묵시적 형 변환이 발생하였기 때문에 long 타입으로 산출 되었습니다. 따라서 예시 마지막 코드와 같이 부호 연산 이후 산출 결과를 int 타입보다 작은 데이터 타입 변수에 저장하려고 하면 컴파일 오류를 발생시킵니다.
byte a = 100;
short b = 100;
int c = 100;
long d = 100l;
System.out.println(((Object)(+a)).getClass().getSimpleName()); // Integer
System.out.println(((Object)(+b)).getClass().getSimpleName()); // Integer
System.out.println(((Object)(+c)).getClass().getSimpleName()); // Integer
System.out.println(((Object)(+d)).getClass().getSimpleName()); // Long
// 아래 코드는 컴파일 오류를 발생시킨다.
// b = -b;
'Java > Java SE, EE' 카테고리의 다른 글
[Java/Java SE, EE] 비트 논리 연산자 (0) | 2022.01.11 |
---|---|
[Java/Java SE, EE] 논리 연산자 (0) | 2022.01.11 |
[Java/Java SE, EE] 증감(++, --) 연산자 (0) | 2022.01.10 |
[Java/Java SE, EE] 산술 연산자 (0) | 2022.01.10 |
[Java/Java SE, EE] 연산자(Operator)와 피연산자(Operand) (0) | 2022.01.10 |