인디언식 기우제

자바 - 단항 연산자 본문

Java/연산자

자바 - 단항 연산자

밍주키니어 2022. 11. 12. 14:54

연산자는 피연산자의 개수가 한개, 두개, 세개 일 수 있는데, 각각 단항, 이항, 삼항 연산자라고 한다.

 

단항 연산자

단항연산자는 피연산자가 단 하나뿐인 연산자이다.

부호 연산자(+, -), 증감 연산자(++, --), 논리 부정 연산자(!), 비트 반전 연산자(~)가 있다.

 

1. 부호 연산자(+, -)

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

부호 연산자는 피연산자의 앞에 붙으며 이때에는 더하기, 빼기를 하는 산술연산자가 아닌 부호 연산자로서 기능을한다.

boolean 타입과 char 타입을 제외한 기본 타입에 사용 가능하다.

 

2. 증감 연산자(++, --)

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

증감 연산자는 값을 1씩 증가시키거나 감소시키지만 피연산자의 앞에 있는지, 뒤에 있는지에 따라 결과가 달라진다.

int x = 10;
int y = 10;
int z = 0;

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

x++; // 7번 라인까지는 x는 10이다. 다음 라인부터 11이 된다.
System.out.println("x = " + x); //11
++x; // 바로 이번줄에 1을 더해서 x는 현재 12.
System.out.println("x = " + x); //12

y--; //12번 라인까지는 y는 10이다. 다음 라인부터 9가 된다.
/System.out.println("y = " + y); //9
--y; // 바로 이번줄에 1을 빼서 y는 현재 8.
System.out.println("y = " + y); //8

z = x++; //z에 12인 x의 값을 넣고, 다음 라인부터 x는 13이됨.
System.out.println("z = " + z); //12
System.out.println("x = " + x); //13
z = x++;
System.out.println("z = " + z);//13
System.out.println("x = " + x);//14

z = ++x + y++;
System.out.println("z = " + z);//23
System.out.println("y = " + y);//9
System.out.println("x = " + x); //15

이런식으로 달라질 수 있으니 주의.

 

3. 논리 부정 연산자(!)

연산식 설명
! 피연산자 피연산자가 ture 이면 false 값을 산출
피연산자가 flase 이면 true 값을 산출

boolean 타입만 피연산자가 될 수 있다.

 

4. 비트 반전 연산자(~)

정수 타입(byte, short, int, long) 의 피연산자에만 사용되며 피연산자를 2진수로 표현했을 때 비트값인 0을 1로,

1은 0으로 반전한다.

연산식 설명
~ 10 ( 0 0 ..... 0 1 0 1 0 ) 산출결과 : -11 ( 1 1 .... 1 0 1 0 1 )

 

 

 

 

 

 

부족한 점, 잘못된 점이 있다면 지적 부탁드립니다. 피드백은 언제나 환영입니다.

'Java > 연산자' 카테고리의 다른 글

자바 - 삼항 연산자  (0) 2022.11.14
자바 - 이항 연산자  (0) 2022.11.14
자바 - 연산자의 우선순위  (0) 2022.11.05
자바 - 연산자 Operator  (0) 2022.11.05