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

2021. 1. 1. 19:57·자바/기본적인 개념

대부분 잘 알지만, 헷갈리는 부분을 정리해보았다.

 

1. AND 그리고 OR 연산 순위

- AND 즉, '&' 또는 '&&'가 '||'보다 연산 순위가 높다.

 

2. 시프트 연산자

- 만약 "x << 2 + 1"이 있다면, + 연산자가 우선순위가 높기에 +를 먼저 진행하고 시프트 연산을 수행한다.

 

3. 결합 규칙(우선순위)

(1) 산술 > 비교 > 논리 > 대입 

(2) 단항 > 이항 > 삼항

(3) 단항 연산자와 대입 연산자를 제외한 모든 연산의 진행 방향은 왼쪽에서 오른쪽이다.

(보통 왼쪽에서 오른쪽으로 연산하는 것이 일반적인데, 가끔 오른쪽에서 왼쪽으로 연산을 수행하는 경우도 있다.

예를 들자면, x = y = 3인 경우이다. 이때, 프로그램은 오른쪽에서 왼쪽으로 수행한다.)

 

4. 단항 연산자

- ++, --, +, -, ~, !, (type) 같은 경우들이 단항 연산자 인데, 오른쪽에서 왼쪽으로 수행하는 것이 일반적이다.

 

5. 대입 연산자

- =, +=, -=, *=, /=, %=, >>=, <<=, &=, ^=, != 같은 경우들이 대입 연산자들인데, 위에서도 말했듯이 오른쪽에서

왼쪽으로 수행하는 것이 일반적이다.

 

6. 증감 연산자

- ++, --를 의미한다.

- 전위형, 후위형이 존재한다.

 

- 예제

(답은 -2이다.)

 

(답은 -9이다.)

 

(이처럼 지나치게 복잡하면 가독성이 안 좋기 때문에, 바람직하지 않다.)

(그래서 식에 두 번 이상 포함된 변수에 증감연산자를 사용하는 것은 피해야 한다.)

 

 

7. 부호 연산자

- +, -를 말한다.

- +는 하는 일이 없으므로, 거의 사용되지 않고 -를 사용한다.

 

- 예제

 

'자바 > 기본적인 개념' 카테고리의 다른 글

산술 연산자(2)  (0) 2021.01.02
산술 연산자(1)  (0) 2021.01.01
자동 형변환  (0) 2021.01.01
형변환  (0) 2021.01.01
실수형의 저장 형식과 부동 소수점의 오차  (0) 2021.01.01
'자바/기본적인 개념' 카테고리의 다른 글
  • 산술 연산자(2)
  • 산술 연산자(1)
  • 자동 형변환
  • 형변환
백_곰
백_곰
  • 백_곰
    친절한 코딩
    백_곰
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 알고리즘 (with JAVA)
        • 기본 알고리즘
        • 완전 탐색
        • 분할 정복 알고리즘
        • 동적 계획법
        • 탐욕법
        • 코딩 테스트 기출 문제
        • 코드트리 조별과제
      • 백준 (with JAVA)
        • 완전 탐색
        • 분할 정복
        • 그 외
      • 자바
        • 개발 환경 구축하기
        • 팁
        • 기본적인 개념
        • 컬렉션 프레임워크
        • 프로세스와 쓰레드
        • 지네릭스
        • 람다식
        • 스트림
        • 입출력 IO
        • 네트워킹
        • 열거형(enums)
        • java.lang 패키지
        • java.time 패키지
        • 유용한 클래스들
        • 형식화 클래스들
      • 안드로이드 with 자바
        • 응용 문제들
        • 자잘한 문제들
        • 오류 보고서
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      file
      코드트리
      java.lang패키지
      map()
      람다식
      중간연산
      다형성
      제자리 정렬
      serializable
      Collections Framework
      스트림
      outputstream
      Arrays
      InputStream
      안정 정렬
      안드로이드 스튜디오
      역직렬화
      소켓 프로그래밍
      문자 기반 스트림
      ServerSocket
      TCP 소켓 프로그래밍
      코딩트리조별과제
      유용한 클래스
      snail
      알고스팟
      선택 정렬
      java.time 패키지
      코딩테스트
      불안정 정렬
      자바 개념
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    백_곰
    연산자의 우선순위와 결합 규칙
    상단으로

    티스토리툴바