단항 연산자
- 부호 연산자 : +, -
- 증감 연산자 : ++, --
- 후위 연산자 : 변수++, 변수--, 변수 뒤에 사용되면 선 처리 후 증가/감소함
- 전위 연산자 : ++변수, --변수, 변수 앞에 사용되면 선 증가/감소 후 나머지를 처리함
단항 연산자 종류
논리 부정 연산자 : ! | 비트 반전 연산자 : ~ |
- Boolean type에서만 사용가능 - true 면 false 산출 - false 면 true 산출 |
- byte, short, int, long 타입만 피연산자 가능 - 비트 값을 반전 1 → 0 , 0 → 1 - 산출 타입은 int 타입 |
이항 연산자
- 피연산자가 2개인 연산자
- boolean 타입을 제외한 모든 기본 연산자에 사용가능
- 정수 타입과 long 타입이 만나면 결과는 long 타입
- 실수 타입 만나면 실수 타입
- 정수 % 0 : ArithmeticException 발생
- 정수 / 0 : ArithmeticException 발생
대입 연산자
- a = b 일 때 a ← b 로 변수 저장
- 모든 연산자들 중 가장 낮은 연산 순위는 제일 마지막에 수행
대입 연산자의 종류
- 단순 대입 연산자
- 복합 대입 연산자 : 정해진 연산을 수행 한 후 결과를 변수에 저장
대입 연산자 | 내용 |
a = b | b의 값을 a 에 대입 |
a += b | a = a + b와 동일 |
a -= b | a = a - b와 동일 |
a *= b | a = a * b와 동일 |
a /= b | a = a / b와 동일 |
a %= b | a = a % b와 동일 |
a &= b | a = a & b와 동일 |
a ^= b | a = a ^ b와 동일 |
a |= b | a = a | b와 동일 |
a <<= b | a = a << b와 동일 |
a >>= b | a = a >> b와 동일 |
a >>>= b | a = a >>> b와 동일 |
비교 연산자
연산자 | 내용 |
a < b | a가 b보다 작으면 true |
a > b | a가 b보다 크면 true |
a <= b | a가 b보다 작거나 같으면 true |
a >= b | a가 b보다 크거나 같으면 true |
a == b | a가 b와 같으면 true |
a != b | a가 b와 같지 않으면 true |
※ 흐름 제어문인 if문, for문, while문에서 실행 흐름을 제어 할 때 사용
※ 문자열을 비교 할 때는 equals(), !equals() 사용
논리 연산자
구분 | 연산식 | 설명 |
AND(논리곱) | && 또는 & | 피연산자가 모두 true 일 경우에만 연산결과는 true |
OR(논리합) | || 또는 | | 피연산자 중 하나만 true 이면 연산 결과는 true |
XOR(배타적 논리합) | ^ | 피연산자가 하나는 true이고 다른 하나는 false일 경우에만 연산결과 true |
비트 연산자
- 비트 단위로 연산하므로 0과 1이 피연산자
- 비트 논리 연산자
연산자 | 별칭 | 내용 |
a & b | AND 연산 | 두 비트 모두 1이면 1, 그렇지 않으면 0 |
a | b | OR 연산 | 두 비트 모두 0이면 0, 그렇지 않으면 1 |
a ^ b | XOR 연산 | 두 비트가 다르면 1, 같으면 0 |
~ a | NOT 연산 | 1을 0으로, 0을 1로 변환 |
- 비트 이동 연산자
시프트 연산자 | 내용 |
a >> b | a의 각 비트를 오른쪽으로 b번 시프트한다. 최상위 비트의 빈자리는 시프트 전의 최상위 비트로 다시 채운다. 산술적 오른쪽 시프트라고 한다. |
a >>> b | a의 각 비트를 오른쪽으로 b번 시프트 한다. 최상위 비트의 빈자리는 항상 0으로 채운다. 논리적 오른쪽 시프트라고 한다. |
a << b | a의 각 비트를 왼쪽으로 b번 시프트 한다. 최하위 비트의 빈자리는 항상 0으로 채운다. 산술적 왼쪽 시프트라고 한다. |
삼항 연산자
- 세개의 피연산자를 필요로 하는 연산자 (조건 연산자)'
조건식 ? 값 또는 연산식(조건식이 true 일 때 실행) : 값 또는 연산식(조건식이 false일 때 실행)
'기록하는 중 > JAVA' 카테고리의 다른 글
[Java] 반복문 - for , while, do ~ while, continue, return (0) | 2023.11.21 |
---|---|
[Java] switch ~ case, break (0) | 2023.11.21 |
[Java] 조건문 - if (0) | 2023.11.21 |
[Java] 변수 (0) | 2023.11.19 |
자바 설치 (0) | 2023.11.08 |