JAVA/연산자
단항 연산자
yayeun
2017. 1. 24. 20:16
부호 연산자 (+, -)
: boolean 타입과 char 타입을 제외한 나머지 타입에 사용할 수 있다.
: 변수 값의 부호를 유지하거나 바꾸기 위해 사용 (양수는 음수로, 음수는 양수로)
- 산출 타입은 int 타입
증감 연산자 (++, --)
: 변수의 값을 1 증가(++) 시키거나 감소(--) 시키는 연산자
- boolean 타입을 제외한 모든 기본타입의 피연산자에 사용할 수 있다.
연산식 |
설명 |
|
++ |
피연산자 |
다른 연산을 수행하기 전에 피연산자의 값을 1 증가시킴 |
-- |
피연산자 |
다른 연산을 수행하기 전에 피연산자의 값을 1 감소시킴 |
피연산자 |
-- |
다른 연산을 수행한 후에 피연산자의 값을 1 증가시킴 |
피연산자 |
++ |
다른 연산을 수행한 후에 피연산자의 값을 1 감소시킴 |
1 2 3 4 | int i = 9; ++i // 10 : 연산을 수행하기 전에 i++ // 10 : 연산을 수행한 후에 (수행한 후에는 11이 됨) ++i // 12 : 연산을 수행하기 전에 (수행한 후의 i 값은 11 이므로 ++하면 12) | cs |
* 보통 ++i 가 i=i+1 보다 연산속도가 빠르다고 하지만 실제 컴파일하면 동일한 바이트 코드가 생성된다.
그래서 어느것이 더 빠르다고 볼 수는 없다.
논리 부정 연산자(!)
: true 를 false로, false 를 true 로 변경하기 때문에 boolean 타입만 사용가능하다.
1 2 3 | boolean play = true; play = !play; // false play = !play; // true | cs |
비트 반전 연산자(~)
: 정수 타입(byte, short, int, long) 의 피연산자에만 사용가능
- 피연산자는 연산을 수행하기전에 int 타입으로 변환되고, 비트 반전이 일어난다.
1 2 | byte b = 10; int i = ~b; //-11 | cs |