본문 바로가기

JAVA/혼자공부하는자바

[JAVA기초] 연산자의 종류 (단항 연산자)

728x90

연산자는 피연산자 수에 따라 단항, 이항, 삼항 연산자로 구분이 된다.+

  • 단항 연산자: 부호, 증감 연산자      ( ++x;    //피연산자의 수가 1개)
  • 이항 연산자: 산술, 비교, 논리 연산자  ( x + y;    //피연산자의 수가 2개)
  • 삼항 연산자: 조건 연산자   ( sum > 90)  ?  "A"  :  "B";  //피연산자의 수가 3개)

단항 연산자 (Unray Operator)의 종류

 

 

부호 연산자 (Sign Operator)

boolean 타입과 char 타입을 제외한 기본 타입에 사용

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

 

정수 및 실수 타입 변수 앞에 붙는 경우

 

int x = -100;
int result1 = +x;
int result2 = -;

-부호 연산자가 붙은 변수값에는 부호가 바뀐다.

 

 

 

byte b = 100;
byte result = -b;  //컴파일 에러 발생

부호 연산의 결과는 int로 저장된다.

int 이하 정수의 부호 연산은 int타입으로 형 변환되어 연산되어 위 코드는 컴파일 에러가 발생한다.

 

 

result의 데이터타입을 int로 선언해주자 출력이 된다.

 

 

 

증감 연산자(Increment/Decrement)

boolean 타입 외 모든 기본 타입 피연산자에 사용 가능

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

 

변수의 앞 뒤 어디에든 올 수 있으며 피연산자가 1개일 경우에는 앞과 뒤의 구분이 없다.

++i; , i++;  //모두 i=i+1;로 동일
--i;  ,  i--;  //모두 i=i-1;로 동일

 

다른 연산자와 함께 사용될 경우 증감 연산자의 위치에 따라 결과 달라질 수 있음에 주의

int x = 1;
int y = 1;
int result1 = ++x + 10;
int result2 = y++ + 10;

증감 연산자의 위치를 주의하자

 

 

논리 부정 연산자 (DenyLogicOperator)

true를 false로, false를 true로 변경되어 피연산자의 의미를 반대로 한다.

토글(toggle) 기능이나 조건문과 제어문에서 실행 흐름을 제어한다.

*boolean 타입에만 사용할 수 있다.

연산식 설명
! 피연산자 피연산자가 true일시 false값 산출
피연산자가 false일시 true값 산출