[Java] 여러가지 연산자
목차
1. 항과 연산자
2. 대입 연산자, 부호 연산자
3. 산술 연산자, 증가/감소 연산자
4. 관계 연산자
5. 논리 연산자
6. 복합 대입 연산자
7. 2진법
8. 비트 연산자
9. 비트 논리 연산자
10. 비트 이동 연산자
1. 항과 연산자
* 항 : 연산을 할 때 사용되는
- 단항 연산자 : 항이 한 개
- 이항 연산자 : 항이 두 개
- 삼항 연산자 : 항이 세 개
ex) (3>1) ? 1 : 0
2. 대입 연산자 (=)
- 우측의 데이터를 좌측의 변수에 대입
ex) int num = 100;
3. 부호 연산자 (+,-)
- 부호를 나타내는 연산자
- + 연산자는 생략 가능
4. 산술 연산자 (+,-,*,/,%)
- 덧셈(+), 뺄셈(-), 곱셉(*), 나눗셈(/), 나머지(%)
ex) 10 % 3 = 1
5. 증가/감소 연산자 (++,--)
- 값을 1만큼 늘리거나(++), 1만큼 줄임(--)
6. 관계 연산자 (>,<,>=,<=,==,!=)
- 두 항의 값 크기 비교
- 결과 값은 비교 결과에 따라 true 또는 false
7. 논리 연산자 (&&,||,!)
- 논리식에 대해 참 거짓 판단
- 결과 값은 판단 결과에 따라 true 또는 false
* ! = 부정
8. 복합 대입 연산자
- 대입 연산자와 다른 연산자를 조합한 연산
- 코드를 간결하게 작성할 때 사용
9. 2진법
- 컴퓨터에서 데이터 표현에 사용
- 2를 기반으로 하는 숫자 체계
10진수 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
2진수 | 0 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | 1000 | 1001 | 1010 |
- 2의 보수 : 2의 제곱수에서 빼서 얻은 이진수 (2진수가 0이 되도록 하는 음수)
ex) 2진수 3의 2의 보수 : 11 > 01
* 101 의 2의 보수는 반대인 010에 +1 > 011
10. 비트 연산자
- 비트 단위로 연산
- 기본 연산자와 비트 연산자 비교
11. 비트 논리 연산자 (&,|,^,~)
1. AND 연산자 (&) : 두 개의 비트 값이 모두 1인 경우에만 결과 1
bit1 | bit2 | Result |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
2. OR 연산자 (|) : 두 개의 비트 값 중 하나라도 1이면 결과 1
ex) 5 | 3 = 7
bit1 | bit2 | bit3 | bit4 | |
5 | 0 | 1 | 0 | 1 |
3 | 0 | 0 | 1 | 1 |
결과 | 0 | 1 | 1 | 1 |
3. XOR 연산자 (^) : 두 개의 비트 값이 같으면 0, 다르면 1
ex) 5 ^ 3 = 6
bit1 | bit2 | bit3 | bit4 | |
5 | 0 | 1 | 0 | 1 |
3 | 0 | 0 | 1 | 1 |
결과 | 0 | 1 | 1 | 0 |
4. 반전 연산자 (~) : 비트 값이 0이면 1로, 1이면 0으로 반전
5. 비트 이동 연산자 (<<,>>,>>>)
- << 연산자 : 비트를 왼쪽으로 이동
- >> 연산자 : 비트를 오른쪽으로 이동 (맨 앞은 기존의 비트 유지)
- >>> 연산자 : 비트를 오른쪽으로 이동 후 부호 비트 상관없이 0으로 채움