3-1. 연산자

Hyun Jun·2022년 1월 22일
0

자바의 정석

목록 보기
9/52
post-thumbnail
post-custom-banner

연산자와 피연산자

  • 연산자(operator): 연산을 수행하는 기호

  • 피연산자(operand): 연산자의 작업 대상 (변수, 상수, 리터럴, 수식)

 

식과 대입연산자

  • 식(expression): 연산자와 피연산자를 조합하여 계산하고자 하는 바를 표현한 것

  • 식의 평가(evaluation): 식을 계산하여 결과를 얻는 것

    대입연산자 =로 식의 평가 결과를 변수에 담아 저장할 수 있음

 

연산자의 종류

종류연산자
산술 연산자+, -, *, /, %, <<, >>
비교 연산자<, >, <=, >=, ==, !=
논리 연산자&&, \|\|, !, &, \|, ^, ~
대입 연산자=
기타(type), ?:, instanceof

 

연산자의 우선순위와 결합규칙

  1. 수학에서처럼 곱셉과 나눗셈(*, /)이 덧셈과 뺄셈(+, -) 보다 우선함.

  2. 단항 연산자(부호를 결정하는 -)가 이항 연산자보다 우선함.

  3. 사칙 연산자가 쉬프트 연산자(<<, >>)보다 우선함.

    x << 2 + 1 // + 먼저 수행
  4. 비교 연산자가 비트 연산자보다 우선함.

    result & 0xFF == 0 // == 먼저 수행
  5. 논리 연산자 중에서 AND(&, &&)가 OR(|, ||) 보다 우선함.

    x < -3 || x > 5 && x < 7 // && 먼저 적용하여 양쪽의 식을 괄호로 묶는 것과 똑같이 수행

 

산술 변환

이항 연산자는 두 피연산자 타입이 일치해야 수행 가능하므로 타입이 다르면 형변환이 먼저 요구됨. 형변환을 생략할 시, 작은 타입을 큰 타입으로 자동 형변환시킴. 이를 산술 변환 이라고 함.

 

산술 변환 규칙

  1. 두 피연산자 타입을 큰 쪽에 맞춰 형변환함.

    long + intlong + long

    float + intfloat + float

    double + floatdouble + double

 

  1. 피연산자의 타입이 int보다 작으면 int로 변환함.

    byte + shortint + int

    char + shortint + int

profile
Back-end Engineer 👨‍💻
post-custom-banner

0개의 댓글