본문 바로가기
Back-End/Java

[Java] 연산자(operator)

by 찐코딩 2021. 8. 4.

* 연산 : 주어진 식을 계산하여 결과를 얻어내는 과정.

  - 피연산자 : 연산자의 작업 대상(예 : 20 + 10 ===> 20, 10 피연산자라고 함)

 

 

* java에서 연산자의 종류

(1~5번은 자주 쓰이니 알아둘 것, 더 많은데 다 알 필요는 없음, 특히 6,7번은 그냥 있다 라는 정도만~)
   1. 산술연산자
   2. 관계연산자(비교연산자)
   3. 논리연산자
   4. 단항연산자 / 3항연산자
   5. 배정연산자 / 단축배정연산자
   6. 비트연산자
   7. 쉬프트연산자

 


1. 산술연산자

  - 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/), 나머지(%)

 

* 나머지(%) 연산자.
   - 나머지를 구하는 연산자.
   - 홀수, 짝수를 판별할 때 많이 사용
   - 배수 판별 시에도 사용

 


2. 관계연산자(비교연산자)

    >=(크거나 같은지),  >(큰지),  <=(작거나 같은지),  <(작은지), ==(같은지), !=(같지 않은지)
  - 결과는 boolean형으로 반환됨.  ==> true / false로 결과가 나옴
  - 관계 연산자는 제어문(조건문)에서 많이 사용되는 연산자.

 


 

3. 논리 연산자

    - 논리곱(&&) : 주어진 조건이 모두 참일 때 결과가 true가 됨.
                        그 나머지는 모두 false가 됨.

    - 논리합(||) : 주어진 조건 중 하나라도 참이면 결과는 true가 됨.
                     그 나머지는 모두 false가 됨.
    - 부   정(!) : true -> false가 되고 false -> true가 됨.
    - 논리연산자는 우선적으로 관계연산자를 실행한 후에 그 결과값을 가지고 논리연산을 수행하게 됨.

 

 


 4. 단항연산자 / 이항연산자 / 3항연산자

      - 단항연산자 : 1개의 항을 대상으로 연산을 수행.

                   * 전위연산자 : 단항연산자가 변수명 앞에 온다.(ex. ++su3 or --su3)
                                              변수의 값을 하나 증가 또는 감소 시킨 후 처리한다.
                   * 후위연산자 : 단항연산자가 변수명 뒤에 온다.(ex. su4++ or su4--)
                                              변수를 처리한 후에 값을 하나 증가 또는 감소 시킨다.

 

      - 이항연산자 : 2개의 항을 대상으로 연산을 수행.


      - 3항 연산자 : 3개의 항을 대상으로 연산을 수행. 간단한 조건문 대신에 사용할 수 있는 연산자.

                        형식) (조건) ? 수식1 : 수식2;
                        ==> 수식1 : 해당 조건이 참인 경우 실행 문장.
                        ==> 수식2 : 해당 조건이 거짓인 경우 실행 문장.

 

3항연산자 예문)

결과값)

 


5. 배정연산자 / 단축배정연산자

    - 배정연산자
      형식) 변수 = 변수 or 값 or 수식;
      - 좌변에는 항상 변수명이 온다.
      - 우변에는 숫자, 변수명, 수식이 온다.
   - 단축배정연산자 : 배정연산자를 간편하게 사용하는 연산자.

 

베정연산자 예문)

 


6. 비트연산자

   - 비트(0,1)를 이용하여 연산하는 연산자.
   - &(and) : 두 비트의 조건이 참(1)인 경우 1을 반환, 그 외에는 0을 반환.
   - |(or) : 두 비트 중 하나만 조건이 참(1)이어도 경우 1을 반환, 그 외에는 0을 반환.
   - ^(xor) : 두 비트 중 서로 다른 경우에만 1을 반환, 그 외에는 0을 반환.

 

비트연산자 예문

 


 

7. 쉬프트연산자

   - 비트를 대상으로 왼쪽 / 오른쪽으로 비트를 밀어서 연산을 수행하는 연산자.
   - 왼쪽쉬프트(<<) : 왼쪽으로 비트수만큼 이동하라는 의미.
                            오른쪽에 비어 있는 빈 칸은 0으로 채워줌.
   - 오른쪽쉬프트(>>) : 오른쪽으로 비트수만큼 이동하라는 의미.

                              왼쪽에 비어 있는 빈 칸은 부호비트로 채워줌.
   - 오른쪽쉬프트(>>>) : 오른쪽으로 비트수만큼 이동하라는 의미.
                                왼쪽에 비어 있는 빈 칸은 0으로 채워줌.

 

쉬프트연산자 예문)


연산자 우선순위

프로그램의 실행 흐름은 연산자 우선순위에 의해 결정됨

  연산자
1 (....) : 괄호 먼저 계산
2 * : 곱셈     / : 나눗셈
3 + : 덧셈    - : 뺄셈
4 = : 대입
  같은 우선순위의 경우, 왼쪽에서 오른쪽으로 연산

댓글