단항연산자란? 피연산자가 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 |
댓글