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)

대입 연산자의 오른쪽 피연산자(변수, 상수, 식)

복합 대입

(연산자)=

다른 연산자와 결합하여 '(연산자)=' 형식으로 사용

  • 자동 형변환: 기존의 값을 최대한 보존할 수 있는 타입으로 형변환하는 것

png

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