떵호
seongho'Dev
떵호
전체 방문자
오늘
어제
  • 분류 전체보기 (116)
    • 회고 (2)
    • Algorithm (74)
      • 프로그래머스 (65)
      • 백준(BOJ) (2)
      • Note (7)
    • 기술독서 (25)
      • Clean Code (11)
      • 자바의 정석 (8)
      • 대규모 시스템 설계 기초 (6)
    • Computer Science (1)
      • Operating System (1)
    • Typescript (1)
    • JAVA (0)
    • Spring (6)
      • JPA (6)
    • AWS (2)
    • Git (2)
    • Etc (2)

블로그 메뉴

  • github

티스토리

태그

  • 구현
  • 카카오 코테
  • 클린코드
  • JPA
  • 프로그래머스
  • Clean Code
  • 코딩테스트 준비
  • 알고리즘
  • 자바의 정석
  • 완전탐색
hELLO · Designed By 정상우.
떵호

seongho'Dev

기술독서/자바의 정석

[자바의 정석] 3장 연산자 (Operator)

2022. 2. 9. 18:15
728x90

연산자와 피연산자

연산자는 연산을 수행하는 기호(+, -, *, / 등)를 뜻하고, 피연산자는 연산자의 작업 대상(변수, 상수, 리터럴, 수식)을 뜻한다.

연산자의 종류

종류 연산자 설명
산술 연산자 + - * / % << >> 사칙 연산과 나머지 연산
비교 연산자 > < >= =< == != 크고 작음과 같고 다름을 비교
논리 연산자 && || ! & | ^ ~ AND와 OR로 조건을 연결
대입 연산자 = 우변의 값을 좌변에 저장
기타 (type) ?: instancoof 형변환 연산자, 삼항 연산자, instanceof연산자

산술 변환

산술 변환이란 연산 수행 직전에 발생하는 피연산자의 자동 형변환을 말한다.

  • 두 피연산자의 타입을 같게 일치 시킨다(보다 큰 타입으로)
  • 피연산자의 타입이 int보다 작은 타입이면 int로 변환된다.

증감 연산자

증감 연산자는 피연산자에 저장된 값을 1 증가 또는 감소시킨다.

타입 설명 사용예
전위형 값이 참조되기 전에 증가 j = ++i;
후위형 값이 참되된 후에 증가 j = i++;
class Example {
  public static void main(String[] args) {
    int i = 5, j = 0;

    j = i++; // j = 5, i = 5
    // i = 6
    i = 5;
    j = 0;

    j = ++i; // j = 6, i = 6 
  }
}

식에 두 번 이상 포함된 변수에 증감연산자를 사용하면 코드가 복잡해지기 때문에 두 번 이상 사용하는 것은 피해야 한다.

비트 연산자

비트 연산자는 피연산자를 비트단위로 논리 연산한다.

연산자 설명
| 피연산자 중 한 쪽의 값이 1이면, 1을 결과로 얻고 그 외는 0을 얻는다.
& 피연산자 중 양 쪽 모두 1이어야만 1을 결과로 얻고 그 외는 0을 얻는다.
^ 피연산자의 값이 서로 다를 때만 1을 결과로 얻고 같을 때는 0을 얻는다.
~ 0은 1로, 1은 0으로 바꾼다.

쉬프트 연산자

피연자의 각 자리를 오른쪽(>>) 또는 왼쪽 (<<)으로 이동시킨다.

x << n은 x * 2n의 결과와 같다.
x >> n은 x / 2n의 결과와 같다.

쉬프트 연산은 산술 연산보다 실행 속도 빠르긴 하지만 가독성이 떨어진다는 단점이 있다.

728x90
저작자표시 (새창열림)

'기술독서 > 자바의 정석' 카테고리의 다른 글

[자바의 정석] 6장 - 객체지향 프로그래밍 Ⅰ  (0) 2022.02.14
[자바의 정석] 5장 배열  (0) 2022.02.09
[자바의 정석] 4장 조건문과 반복문  (0) 2022.02.09
[자바의 정석] 2장 변수  (0) 2022.02.08
[자바의 정석] 1장 자바를 시작하기 전에  (0) 2022.02.08
    '기술독서/자바의 정석' 카테고리의 다른 글
    • [자바의 정석] 5장 배열
    • [자바의 정석] 4장 조건문과 반복문
    • [자바의 정석] 2장 변수
    • [자바의 정석] 1장 자바를 시작하기 전에
    떵호
    떵호

    티스토리툴바