ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자바의 다양한 연산자들
    Java 2021. 3. 14. 23:35

    목표

    자바가 제공하는 다양한 연산자를 학습하세요.

    학습할 것

    • 산술 연산자
    • 비트 연산자
    • 관계 연산자
    • 논리 연산자
    • instanceof
    • assignment(=) operator
    • 화살표(->) 연산자
    • 3항 연산자
    • 연산자 우선 순위

    산술 연산자

    산술 연산자는 사칙 연산과 나누기 연산을 포함한 연산자들 입니다.

    • 사칙 연산: + - * /
    • 나누기 연산: %

    비트 연산자

    비트 연산자는 비트 단위로 값을 계산하는 연산자 입니다.

    종류로는 비트 이동 연산자, 비트 논리 연산자 등이 있습니다.

    • 비트 이동 연산자: >> << >>>
    • 비트 논리 연산자: & | ^ ~

    관계(비교) 연산자

    관계 연산자는 데이터의 크고 다름과 같음을 비교하는 연산자입니다.

    종류로는 > < <= => == != 등이 있습니다.

    논리 연산자

    논리 연산자는 두 개의 논리 값을 연산하여 참 또는 거짓의 결과를 얻는 연산자 입니다.

    종류로는 && || ! 등이 있습니다.

    instanceof

    이름 instanceof 타입

    instanceof 키워드는 이름이 해당 타입에 대한 인스턴스인지 확인할 때 쓰는 키워드 입니다. 보통 타입 캐스팅을 하기 전, 타입 캐스팅이 가능한지 체크할 때 사용하게 됩니다.

    assignment(=) operator

    대입 연산자는 값을 저장공간, 즉 변수에 저장하는 연산자입니다. 오른쪽에 있는 값을 왼쪽으로 저장합니다.

    만약 이런 코드가 있다고 가정해보겠습니다.

    age = 5;

    왼쪽에 있는 값을 lvalue, 오른쪽에 있는 값을 rvalue라고 표현합니다.

    rvalue의 경우 수식을 포함해 변수 등도 해당될 수 있지만 lvalue의 경우 변수 등의 오로지 값을 저장할 수 있는 저장공간만 해당됩니다.

    화살표(->) 연산자

    화살표 연산자에 대해 알기 위해선 먼저 람다식에 대해 간략하게 알아야 합니다.

    람다 표현식(lambda expression)은 메서드를 하나의 식으로 표현한 것으로,

    객체나 클래스를 생성하지 않고 메서드를 사용할 수 있다는 특징이 있습니다.

    (매개변수목록) ->

    3항 연산자

    3항 연산자는 ?: 문법을 통해 사용합니다. 수식 ? 값1 : 값2 형태를 가지고 있으며 수식이 참일 경우 값1, 거짓일 경우 값2가 리턴됩니다.

    result = x > y ? x : y // x가 y보다 클 경우 x 리턴, 아니면 y 리턴

    연산자 우선 순위

    연산자는 단항 , 산술 , 비교 , 논리 , 삼항 , 대입 의 우선순위를 가지고 있습니다.

    예외 사항은 다음과 같습니다.

    쉬프트 연산자(<<)는 덧셈보다 우선순위 낮음
    x << 2 + 1

    비트 연산자는 비교 연산자보다 우선순위 낮음
    data & 0xFF == 0

    논리 연산자중 '&'와 '&&'가 '|', '||'보다 우선순위 높음
    x < -1 || x > 3 && x < 5

    링크


    https://github.com/whiteship/live-study/issues/3

    * 오타와 오류 지적은 언제나 환영입니다.

    댓글

Designed by Tistory.