연산자
- 항의 수에 따라 단항, 이항, 삼항 연산자로 나눈다.
연산자(operator) | 항(operand)의 수 | 연산자 종류 | 예시 |
+, - | 단항 | 부호 연산자 | +x, -x |
++, -- | 증감연산자 | x++, x--, ++x, --x *연산자 위치에 따라 처리 순서가 달라진다. |
|
! | 논리 부정 연산자 | !x *boolean에만 사용, true ↔ false 변환 |
|
+, -, *, /, % | 이항 | 산술 연산자 | a+b, a-b, a*b, a/b, a%b |
=, +=, -=, *=, /=, %= | (복합) 대입 연산자 | a=b, a+=b, a-=b, a*=b, a/=b, a%=b | |
==, !=, <, >, >=, <=, instanceof | 비교 연산자 | a==b, a!=b, a<b, a>b, a<=b, a>=b, a instanceof CLASS |
|
!, &&, || | 논리 연산자 | 조건1 && 조건2, 조건1 || 조건2 | |
(조건)? B:C | 삼항 | 조건 연산자 | (조건)? B:C *조건이 참인경우: B 조건이 거짓인 경우: C |
연산 방향과 우선순위
- 우선순위: 어떤 것이 먼저 처리되는지 결정
- 연산방향: 우선순위가 동일한 경우, 어느 방향으로 연산을 처리하는지 결정
우선순위 | 분류 | 연산자 | 연산방향 |
1 | 단항 (논리 부정, 증감, 부호) |
!, ++, --, +, - | ← |
2 | 산술 | *, %, / | → |
3 | 산술 | +, - | → |
4 | 비교(대소) | <, >, <=, >= | → |
5 | 비교(동등) | ==, 1= | → |
6 | 논리곱 | && | → |
7 | 논리합 | || | → |
8 | 조건 | (조건)? B:C | → |
9 | (복합)대입 | =, +=, -=, *=, %=, /= | ← |
예시
1-2+1*10<10? 'A' : 'B'
①산술연산(*): 1*10 = 10
>>1-2+10 → -1+10
② 산술연산(+, -): -1 + 10 = 9
③ 비교연산(<): 9<10 :::true
④ 조건연산(?): true ? 'A' : 'B'
>>> 결과값으로 'A'가 반환됨.
'Language > java' 카테고리의 다른 글
java 기초 6: 참조 변수 (0) | 2023.01.04 |
---|---|
java 기초 5: 클래스와 객체 (0) | 2023.01.03 |
java 기초 4: 반복문(while, do~while, for)과 탈출(break, continue) (0) | 2023.01.02 |
java 기초 3: 조건문(if, switch) (0) | 2023.01.02 |
java 기초 1: 기본 타입과 상수, 타입변환 (0) | 2023.01.02 |