loading
본문 바로가기
Language/Java

[ Java ] 02. 여러가지 연산자 ( operator )

by NeuLyeo 2023. 11. 8.

[ Java ] 02. 여러 가지 연산자 ( operator )


 

 

📚 Table of Contents

     

     

     

     

     

    01. 여러가지 연산자

     

    • 프로그램에서 데이터를 처리하여 결과를 산출하는 것을 연산(operation)이라 한다.
    • 연산에 사용되는 표시나 기호를 연산자(operator)라고 한다.
    • 연산되는 데이터는 피연산자(operand)라고 한다.
      예) 산술연산 +, -, *, /, %



    항과 연산자

     

    • 단항 연산자 : 항이 1개 / num--
    • 이항 연산자 : 항이 2개 / 1 + 1
    • 삼항 연산자 : 항이 3개 ? (1 > 0) ? 1:0




    대입 연산자, 복합 대입 연산자

     

    특정한 상수 값이나 변수 값 또는 객체를 변수에 전달하여 기억시킬 때 사용하는 연산자이다.

    int num = 1000;



    대입 연산자와 다른 연산자를 조합한 연산자

    구분 연산자 설명
    대입 연산자 = 연산자를 중심으로 오른쪽 변수값을 왼쪽 변수에 대입한다.
      += 왼쪽 변수에 더하면서 대입한다.
      -= 왼쪽 변수값에서 빼면서 대입한다.
      *= 왼쪽 변수에 곱하면서 대입한다.
      /= 왼쪽 변수에 나누면서 대입한다.
      %= 왼쪽 변수에 나머지 값을 구하면서 대입한다.




    산술 연산자

     

    가장 기본이 되는 연산자로 4칙 연산(+, -, *, /)과 나머지 값을 구하는 나머지 연산자(%)가 있다.

    구분 연산자 설명
    산술 연산자 + 두 수에 대한 덧셈
      - 두 수에 대한 뺄셈
      * 두 수에 대한 곱셈
      / 두 수에 대한 몫을 반환
      % 두 수를 나눈 후 그 나머지를 반환한다.




    증감 연산자

     

    증감연산자는 피연산자의 값을 1씩 증가 또는 감소시키는 연산자이다. 증감 연산자가 변수 앞에 위치하느냐 변수 뒤에 위치하느냐에 따라 결과 값이 달라진다.

    구분 연산자 설명
    증감 연산자 x++ 먼저 해당 연산을 수행한 후 피연산자의 값을 1증가 시킴
      ++x 먼저 피연산자의 값을 1증가 시킨 후 해당 연산을 수행함
      x-- 먼저 해당 연산을 수행한 후 피연산자의 값을 1감소 시킴
      --x 먼저 피연산자의 값을 1감소 시킨 후 해당 연산을 수행함




     

    관계 연사자

     

    변수나 상수의 값을 비교할 때 쓰이는 연산자로서 결과가 항상 true 또는 false인 논리값(boolean)이어야 한다.

    구분 연산자 설명
    비교 연산자 > 크다
      < 작다
      >= 크거나 같다
      <= 작거나 같다
      == 피연산자들의 값이 같다
      != 피연산자들의 값이 같지 않다




    논리 연산자

     

    논리 연산자는 피연산자의 값이 true나 false인 논리 값을 가지고 다시 한번 조건 연산하는 연산자이다.

     

    논리 연산자의 종류(1)

     

    연산자 의미 설명
    & and (논리곱) 주어진 조건들이 모두 true일 때만 true를 나타낸다.
    | or (논리합) 주어진 조건들 중 하나라도 true이면 true를 나타낸다.
    ! not (부정) true는 false로 false는 true로 나타낸다.



    논리 연산자의 종류(2)

     

    구분 설명
    && 선조건이 true일 때만 후조건을 실행하며 선조건이 false이면 후조건을 실행하지 않는다.
    || 선조건이 true이면 후조건을 실행하지 않으며 선조건이 false일 때만 후조건을 실행한다.





    2진수, 8진수, 16진수

     

    컴퓨터에서 데이터 표현을 위해 사용한다.

     

    java.lang.Integer의 toBinaryString(), toOctalString(), toHexaString() 메서드를 이용하여

     

    10진수를 2진수, 8진수, 16진수 문자열로 변환할 수 있습니다.

    리턴 타입 클래스 메소드 설명
    static String java.lang.Integer toBinaryString(int i) 10진수 -> 2진수
    static String java.lang.Integer toOctalString(int i) 10진수 -> 8진수
    static String java.lang.Integer toHexaString(int i) 10진수 -> 16진수

     

    int num = 10;
    String binary = Integer.toBinaryString(num); // 10진수 -> 2진수
    String octal = Integer.toOctalString(num); // 10진수 -> 8진수
    String hexaDecimal = Integer.toHexString(num); // 10진수 -> 16진수

     

    결과

    10진수 : 10
    2진수 : 1010
    8진수 : 12
    16진수 : a





    2의 보수

     

    2의 보수는 1의 보수에 1을 더하는 것이다.




    비트 연산자

     

    피연산자 즉 연산의 대상이 되는 값들을 내부적으로 bit단위로 변경한 후 연산을 수행하는 연산자이다.

    구분 연산자 설명
    비트 연산자 & 비트 단위의 AND
      | 비트 단위의 OR
      ^ XOR (배타적 OR)
      ~ 단항 연산자 이며, 비트를 반전한다. 0은 1로 1은 0으로 만듬

     





    비트 이동 연산자

     

    시프트 연산자는 bit단위의 연산처리를 하며 자료의 가공을 위해 오른쪽 또는 왼쪽으로 이동하여 값에 대한 변화를 일으키는 연산자입니다.

    구분 연산자 설명
    시프트 연산자 >> bit값을 오른쪽으로 이동 (빈 자리는 부호값으로 대입) 한다.
      << bit값을 왼쪽으로 이동 (빈 자리는 0으로 대입) 한다.
      >>> bit값을 오른쪽으로 이동 (빈 자리는 0으로 대입) 한다.