[Java]연산자(1)

2023. 5. 25. 00:36·Programming
반응형

  • 연산자: 연산을 수행하는 기호
  • 피연산자: 연산자의 연산 수행 대상
    • 이 중 x, 3 = 피연산자
      • = 연산자
  • x + 3
  • 모든 연산자는 연산 결과를 반환 (연산 결과 반환 안하면 연산자 아님)
  • 예
      y = 4 * x + 3;
      System.out.println(y); // 화면에 23 출력
    
      System.out.println(4 * x + 3); // 화면에 23 출력
  • 4 * x + 3 -> 4 * 5 + 3 -> 23
  • 연산자의 종류
종류 연산자 설명
산술 연산자 + - * / % << >> 사칙연산 및 나머지 연산(%)
비교 연산자 > < ≥ ≤ == ≠ 크고 작음과 같고 다름을 비교
논리 연산자 $$  
대입 연산자 = 우변 값을 좌변에 저장
기타 (type) ?: instanceof 형변환 연산자, 삼항 연산자, instanceof 연산자

연산자 우선순위

  • 한개 식에 연산자 둘 이상일 경우 어떤 연산을 먼저할지 자동 결정 (괄호를 쳐서 설정하는것은 수동 설정)
종류 결합규칙 연산자 우선순위
단항 연산자 ← ++ — + 높음
산술 연산자 → * / %  
  → + -  
  → << >>  
비교 연산자 → < > ≤ ≥ instanceof  
  → == ≠  
논리 연산자 → &  
  → ^  
  →    
  → &&  
  →    
삼항 연산자 → ?:  
대입 연산자 ← = += -= *= /= %= <≤ >≥ &= ^= =
- 단항 연산자 예시: 부호      
- 단항 > 이항 > 삼항      
- 산술 > 비교 > 논리 > 대입      
- 산술연산자가 비교연산자보다 먼저 수행      
- 비교연산자가 논리연산자보다 먼저 수행      
- 대입연산자는 우선순위 가장 낮음      

연산자 결합규칙

  • 우선순위가 같은 연산자가 있을 때, 어떤 것을 먼저?
  • 대입 및 단항 연산자(오른쪽 → 왼쪽)를 제외하면 모두 왼쪽 → 오른쪽
  • 모든 연산자는 연산 결과를 반환

증감 연산자

  • 증가 연산자: 피연산자 값을 1 증가(++)
  • 감소 연산자: 피연산자 값을 1 감소(—)
  • 전위형: 값이 참조되기 전 증가
    • j = ++i;
  • 후위형: 값이 참조된 후 증가
    • j = i++;
  • 증감 연산자가 독립적으로 사용된 경우 전위, 후위형 차이 없음
j = ++i;

# 같은 식
++i;
j = i;
j = i++;

# 같은 식
j = i;
i++;

부호 연산자

  • ‘-’는 피연산자 부호를 반대로 변경
  • ‘+’는 아무런 일도 하지 않는다 (실제 사용 안함)
저작자표시 비영리 동일조건 (새창열림)

'Programming' 카테고리의 다른 글

[Java]연산자(3)  (1) 2023.05.26
[Java]연산자(2)  (0) 2023.05.25
[Java]변수(2)  (0) 2023.05.23
[Java]변수  (0) 2023.05.22
자료구조: Heap (백준 24174번)  (0) 2023.05.15
'Programming' 카테고리의 다른 글
  • [Java]연산자(3)
  • [Java]연산자(2)
  • [Java]변수(2)
  • [Java]변수
Canary_카나리아
Canary_카나리아
어쩌다 데브옵스 엔지니어가 된 문과생의 기록용 블로그
    반응형
  • Canary_카나리아
    release: canary
    Canary_카나리아
  • 전체
    오늘
    어제
    • 분류 전체보기 (120)
      • DevOps (67)
      • Programming (28)
      • Certifications (3)
      • ETC (20)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    데브옵스엔지니어
    java개념
    프로메테우스예제
    Prometheus
    Java
    백엔드
    제로베이스
    프로메테우스
    한빛출판네트워크
    Grafana
    kops란
    그라파나예제
    NCPprofessional자격증
    백엔드공부
    NCP자격증
    그라파나
    NCPassociate자격증
    개발자
    terraform
    백엔드스쿨
    ncp서비스
    네이버클라우드자격증
    클라우드엔지니어자격증
    자바개념
    네이버클라우드서비스
    spring
    kops사용법
    백엔드개발
    클라우드자격증
    argocd
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
Canary_카나리아
[Java]연산자(1)
상단으로

티스토리툴바