본문 바로가기
JAVA

JAVA - 단항 연산자

by 스노위13 2022. 6. 3.


단항연산자란? 피연산자가 1개인 연산자를 의미한다. 

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

양수 및 음수를 표시하는 +, - 를 말한다. boolean타입과 char타입을 제외한 나머지 기본 타입에 사용할 수 있다. 
+, - 를 부호연산자로 사용할 때는 하나의 피연산자만 필요하다. 

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

++숫자 : 1증가 후 다른 연산 수행
--숫자 : 1감소 후 다른 연산 수행
숫자++ : 다른 연산 수행 후에 1증가
숫자-- : 다른 연산 수행 후에 1감소

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static void main(String[] args) {
        
    int numTen = 10;
        
    ++numTen ; 
    System.out.println("++numTen : " + numTen);
    --numTen ; 
    System.out.println("--numTen : " + numTen);
    numTen++ ; 
    System.out.println("numTen++ : " + numTen);
    numTen-- ; 
    System.out.println("numTen-- : " + numTen);
    
}
cs

결과화면

위에서 실행한 연산의 화면

※ 참고 
++과 --의 위치에 따라 연산 수행 순서가 다른 이유는 코드를 짤 때 먼저 숫자를 증가한 후 아래 코드 내용이 진행되야 하는 경우가 있고 반대로 코드 내용이 진행된 후에 숫자가 증가해야 하는 경우가 있기 때문이다. 

1
2
3
4
5
char hangul = 44032 ;
System.out.print(hangul++);
System.out.print(hangul++);
System.out.print(hangul++);
System.out.print(hangul);
cs

char 타입에 증감연산자를 사용하였을 때의 출력 값은 아래와 같다.

※ char타입은 특정 문자의 유니코드를 10진수 또는 16진수로 저장할 수 있다. 위에서 char타입의 hangul에 44032라는 10진수를 넣어주었는데 '가'로 출력된다. 그래서 증감연산자를 이용하여 값을 더해주면 글자가 바뀐다. 그런데 hangul++로 출력하였음으로 값이 바뀌지 않은 '가'가 그대로 출력된다. 이처럼 출력된 후에 값이 바뀌기 때문에 마지막에는 System.out.print(hangul);와 같이 값을 따로 더해주지 않았음에도 불구하고 '갃'으로 출력되었다. 

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

boolean 타입에만 사용할 수 있는 !이다. true를 false를 false를 true로 변경해준다. 실행 흐름을 제어하거나 토글 기능을 구현할 때도 주로 사용한다.

1
2
3
4
boolean what = true;
System.out.println(what);
what = !what;
System.out.println(what);
cs

결과값은 아래와 같다

처음엔 ture값을 넣어주어서 true로 출력되었고 후에 논리 부정 연산자를 사용한 !what을 넣어주었더니 false로 출력되었다. 

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

정수타입(byte, short, int, long)의 피연산자에만 사용된다. 피연산자를 2진수로 표현했을 때 1은 0으로 0은 1로 반전한 뒤에 값을 산출한다. 

끝~

'JAVA' 카테고리의 다른 글

JAVA - 조건문(if문, switch문)  (0) 2022.06.08
JAVA - 삼항연산자  (0) 2022.06.08
JAVA - 숫자를 입력 받아 구구단 출력하기  (0) 2022.05.31
JAVA - 피보나치 수열의 값 구하기  (0) 2022.05.31
JAVA - 팩토리얼 값 구하기  (0) 2022.05.31

댓글