출처 - Java의 정석 (남궁 성)
1. 연산자의 우선순위와 결합규칙
- 단항(←)
- 산술
- 비교
- 논리
- 삼항
- 대입(←)
2. 증감 연산자
- 증가(++), 감소(--)
- 전위형: 값 참조 전 증가 j = ++i ;
- 후위형: 값 참조 후 증가 j = i++ ;
- 독립 문장일 경우 전위형과 후위형 차이 없음
3. 부호 연산자
- 부호(-)
- 단항, 피연산자 1개
4. 형변환 연산자
- 수동: (type)피연산자, 명시적 형변환
- 자동: 컴파일러가 생략된 형변환 자동 추가
5. 사칙 연산자
- 곱셈(*), 나눗셈(/), 나머지(%) → 덧셈(+), 뺄셈(-)
- 산술 변환: 두 피연산자의 타입을 큰 타입으로 같게 일치(갑손실 최소화), 피연산자의 타입이 int보다 작은 타입이면 int로 변환
- Math.round() // 소수점 첫째 자리에서 반올림한 결과를 정수로 반환
- 나머지 연산시 결과에 왼쪽 피연산자 부호 붙임
6. 비교 연산자
- 대소 비교(< > <= >=), 등가 비교(== !=)
- 연산 결과: true, false
- 범위가 큰 쪽으로 자동 형변환
- 문자열 비교: equals(), equalsIgnoreCase()
7. 논리 연산자
- and (&&), or(||)
- && 가 || 보다 우선순위
- '0' <= ch && ch <= '9'
- ('a' <= ch && ch <= 'z') || ('A' <= ch && ch <= 'Z')
- 논리 부정 연산자(!) 반복 적용시 true 와 false 반복됨 (토글 버튼), 단항(←)
8. 조건 연산자(삼항)
- (조건식) ? 식1 : 식2 // 괄호 생략 가능
- 식1, 식2 타입이 다른 경우 산술 변환 발생
9. 대입 연산자
- 가장 낮은 우선순위
- 연산 방향(←)
- lvalue, rvalue
- lvalue 변수 가능, 리터럴이나 상수 불가능
- 복합 대입 연산자(op=) i += 3; // i = i+3
'Java' 카테고리의 다른 글
반복문(for, while) (0) | 2022.09.19 |
---|---|
조건문(if, switch) (0) | 2022.09.16 |
변수(Variable) (0) | 2022.09.14 |
화면 입출력 (0) | 2022.09.14 |
자바(Java)란? (0) | 2022.09.14 |