3장
1. 기본 개념과 연산자의 결합 규칙
기본 개념
연산자(operator): 연산을 수행하는 기호
피연산자(operand): 연산의 대상
연산자 결합 규칙
산술 > 비교 > 논리 > 대입: 대입은 제일 마지막에 수행
단항(1) > 이항(2) > 삼항(3): 단항 연산자의 우선 순위가 이항 연산자보다 높음
단항 연산자와 대입 연산자를 제외한 모든 연산의 진행 방향은 왼쪽에서 오른쪽
2. 기타 연산자
첨자
[]
첨자 연산 결과 반환
1
왼쪽에서 오른쪽으로
멤버
.
멤버 연산 결과 반환
1
증감
++
후위형(postfix)
피연산자의 값이 참조된 후 1 증가
2
--
피연산자의 값이 참조된 후 1 감소
2
부호
+
피연산자의 부호와 동일한 결과를 반환 (단항 연산자)
3
오른쪽에서 왼쪽으로
-
피연산자의 부호를 반대로 변경한 결과를 반환 (단항 연산자)
3
증감
++
전위형(prefix)
피연산자의 값이 참조된 후 1 감소
3
--
피연산자의 값이 참조된 후 1 감소
3
형변환
(타입)
변수 또는 상수 타입을 다른 타입으로 변환 큰 자료형에서 작은 자료형으로 변환 시 데이터 손실 발생
3
조건
?:
조건식 ? 식1(참) : 식2(거짓) 삼항 연산자이며 조건식의 결과에 따라 다른 결과 반환
14
대입
=
lvalue(left value)
대입 연산자의 왼쪽 피연산자(변수만 가능)
15
rvalue(right value)
대입 연산자의 오른쪽 피연산자(변수, 상수, 식)
복합 대입
(연산자)=
다른 연산자와 결합하여 '(연산자)=' 형식으로 사용
자동 형변환: 기존의 값을 최대한 보존할 수 있는 타입으로 형변환하는 것

3. 산술 연산자
산술 연산 시 자동 형변환
나머지
%
두 피연산자의 값을 나눈 나머지 반환
4
왼쪽에서 오른쪽으로
나누는 수(오른쪽 피연산자)로 0 사용 불가
사칙연산
*
두 피연산자의 값을 곱한 결과 반환
/
두 피연산자의 값을 나눈 결과 반환
- 나누는 수(오른쪽 피연산자)로 0 사용 불가 - 피연산자로 정수와 실수 허용 (나누는 수가 음수일 경우 부호를 무시함)
+
두 피연산자의 값을 더한 결과 반환 (이항 연산자)
5
-
두 피연산자의 값을 뺀 결과 반환 (이항 연산자)
4. 비교 연산자와 문자열 비교
4.1. 비교 연산자
문자는 유니코드 숫자로 비교 가능
>
좌변 값이 크면 true 아니면 false 반환
7
왼쪽에서 오른쪽으로
<
좌변 값이 작으면 true 아니면 false 반환
>=
좌변 값이 크거나 같으면 true 아니면 false 반환
<=
좌변 값이 작거나 같으면 true 아니면 false 반환
==
두 값이 같으면 true 아니면 false 반환
8
!=
두 값이 다르면 true 아니면 false 반환
4.2. 문자열 비교
문자열을 비교할 때는 비교 연산자 '==' 대신 메서드 사용
비교 연산자는 두 문자열이 완전히 같은지 비교할 뿐 내용을 비교하지 않음
equals()
- 비교하는 두 문자열이 같으면 true, 다르면 false 반환 - 대소문자를 구별
equalsIgnoreCase()
equals()와 동일하나 대소문자를 구별하지 않음
5. 비트 연산자
~
비트 NOT 연산 결과 반환
3
오른쪽에서 왼쪽으로
<<
비트 왼쪽 시프트 결과 반환
6
왼쪽에서 오른쪽으로
>>
부호 비트를 확장하면서 비트 오른쪽 시프트 결과 반환
>>>
부호 비트까지 모두 비트 오른쪽 시프트 결과 반환
&
비트 AND 연산 결과 반환
9
^
비트 XOR 연산 결과 반환
10
|
비트 OR 연산 결과 반환
11
6. 논리 연산자
!
피연산자가 true이면 false, false이면 true 반환
3
오른쪽에서 왼쪽으로
&&
피연산자 양쪽 모두 true이면 true 반환
12
왼쪽에서 오른쪽으로
||
피연산자 중 어느 한 쪽이 true이면 true 반환
13
참고 자료
자바의 정석 - 도우출판
Last updated