ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [무작정 기록] 연산자
    IT/JAVA 2025. 3. 11. 12:55

    연산자(Operators)


    - 산술연산자(Arithmetic Operators)

      : 말 그래도 숫자를 계산하는 연산자.

     

    연산자 설명 예제 (a = 10, b = 3)
    + 덧셈 System.out.println(a + b); // 13
    - 뺄셈 System.out.println(a - b); // 7
    * 곱셈 System.out.println(a * b); // 30
    / 나눗셈(몫) System.out.println(a / b); // 3 (정수 연산)
    % 나머지 System.out.println(a % b); // 1 (나머지)

     

     

     

     


    - 대입연산자(Assignment Operators)

      : 값을 변수에 할당하는 연산자.

     

    - 복합치환연산자(Compound Assignment Operators)

      : 산술연산자와 대입 연산자를 함께 사용하는 연산자.

        즉 변수자신에 어떠한 연산을 하여 다시 변수자신에 저장하는 연산자

     

    대입 분류 연산자 설명 예제 (a = 10) 결과
    대입 = 대입 a = 5 a = 5
    복합 치환 대입 += 덧셈 후 대입 a += 3 a = 13
    복합 치환 대입 -= 뺄셈 후 대입 a -= 2 a = 8
    복합 치환 대입 *= 곱셈 후 대입 a *= 4 a = 40
    복합 치환 대입 /= 나눗셈 후 대입 a /= 2 a = 5
    복합 치환 대입 %= 나머지 후 대입 a %= 3 a = 1
    복합 치환 대입 >>= 오른쪽 이동 후 대입 a >>= 2 a = 2
    복합 치환 대입 <<= 왼쪽 이동 후 대입 a <<= 2 a = 40

     

     

     

     


    - 비교연산자(Relational Operators)

      : 비교연산자는 결과의 값이 boolean 이 제공하는 값인 'true', 'false'로 받을 수 있다.

        즉 boolean 타입의 결과가 제공된다.
        (String에 'true', 'false'를 넣으면 텍스트로 인식한다.)

     

    연산자 설명 예제 (a = 1, b = 2) 결과
    == 같음 a == b false
    != 다름 a != b true
    > 크다 a > b false
    < 작다 a < b true
    >= 크거나 같다 a >= b false
    <= 작거나 같다 a <= b true

     

     

     

     


    - 논리연산자(Logical Operators)

      : 여러개의 조건을 조합하여 참(true) 또는 거짓(false)을 반환한다.

        즉 비교연산자처럼 조건을 평가하는데 사용되지만, 그 사용 목적과 결과값의 타입이 다르다.

        조건문에 자주 사용된다.

     

    연산자 의미 설명 예제 (a = 1, b = 2) 결과
    && (*) 논리 AND 연산자의 단축평가 둘다 true 일때 true
    (둘 중 하나만 false 여도 false,
    첫번째 값이 false 이면 바로 false)
    a && b false
    ! 논리 NOT 값을 반대로 변환
    ( 즉 ~가 아닐경우 )
    1. !a 혹은 !b
    2. !(a != 0)
    1. error, 형이 int이기 때문에
    2. false
    || (*) 논리 OR 연산자의 단축평가 하나만 true 여도 true
    (둘 중 하나만 true 여도 true,
    첫번째 값이 true 이면 바로 true)
    1. a || b
    2. (a != 0) || (b != 0)
    1. error, 형이 int이기 때문에
    2. true

    (*) 단축평가 (Short-Circut Evalution) : 불필요한 연산을 수행하지 않고 결과를 결정하는 최적화 기법

     

    Short-Circut Evalution 와 Short Cut operation의 차이

    Short-Circut Evalution은 하나의 기법으로  Short Cut operation의 한 부분이다.

    즉 "is-a" 관계이다.

     

     

     

     

     


    - 비트연산자(Bitwise Operators)

      : 정수형(int, long 등)의 개별 비트를 대상으로 연산

     

    - 비트이동연산자(Bitwise Shift Operators)

      : 이진수로 표현된 숫자에서 비트의 위치를 왼쪽 또는 오른쪽으로 이동시키는 연산자.

     

    비트분류 연산자 의미 설명 예제 (a = 1, b = 2) 결과
    비트 & 비트 AND 두 비트가 모두 1일때만 1을 반환
    (다르면 0을 반환)
    a & b 0
    비트 | 비트 OR 연산자 하나라도 1이면 1을 반환 a | b 3
    비트 ^ 비트 차 두 비트가 다르면 1, 같으면 0을 반환 a ^ b 3
    비트 ~ 비트 반전 모든 비트의 반전 (1의 보수) ~a, ~ b -2, -3
    비트이동 << 왼쪽 시프트 비트를 왼쪽 으로 (n칸만큼)이동 a << b 4
    비트이동 >> 오른쪽 시프트 비트를 오른쪽으로 (n칸만큼) 이동 a >> b 0
    비트이동 >>> 부호없는 오른쪽 시프트 비트를 오른쪽으로 이동하고 0으로 채움 a >>> b 0

     

     

    * 비트 논리결과 표

    예시값 결과값
    X Y & ( 비트 AND ) | ( 비트 OR ) ^ ( 비트 차 )
    0 0 0 0 0
    0 1 0 1 1
    1 0 0 1 1
    1 1 1 1 0

     

     

     

     


     

    - 삼항연산자(Ternary Operators) 혹은 조건식연산자

      : 간단한 조건문을 한줄로 표현 할 수 있게 해주는 연산자.

        if else문을 한줄로 줄여 놓은것.

        하지만 너무 복잡하면 if-else 를 이용하는게 더 가독성이 좋댜.

    연산자 구조 설명 예제  (a = 1, b = 2) 결과
    ( 항1 )? 항2: 항3 ( 항1 ) 자리에는 조건식이 온다.
    (즉 무엇이 올것인지)
    (만약 항1이 참이라면 항2를 수행, 그렇지 않으면 항3을 동작)

    항2, 항3 자리에는 변수가 올 수도 있고 수식이 올 수도 있다.
    (하지만 System.out.println 같은 명령문은 안된다.)
    (하지만 System.out.println 안에 삼항연산자를 직접 입력 할 수 있다.)
    a < b ? a : b (true) 1 반환

     

     

     

     


    - instanceof연산자(instanceof Operators)

      : 객체가 특정 클래스 또는 그 자식 클래스의 인스턴스인지 확인하는데 사용

    연산자 구조 설명 예제  (a = 1, b = 2) 결과
    객체 instanceof 클래스 객체가 해당 클래스 또는 상복받은 클래스의 인스턴스이면 true, 아니면 false 반환 a instanceof b error -> 컴파일 오류
    instanceof는 참조형(객체)에서만
    사용가능하다.
    ! 기본형(int, double, char)등에서는
    instanceof를 사용할 수 없다.
    ! 올바른 사용법 !
    1. Integer(객체)로 변환하여 사용 Integer a = 1;
    a instanceof Integer;
    true
    2. 클래스 또는 인터페이스 활용 class Animal{}
    class Dog extends Animal{}

    Animal a = new.dog();
    a instanceog Dog;
    a instanceog Animal;
    -> true
    -> true

     

     

     

     


    - 증감연산자(increment & Decrement Operators)

      : 변수의 값을 1씩 증가 혹은 감소 시키는 연산자.

     

    연산자 의미 설명 예제 (a = 1, b = 2) 결과
    ++N 전위 증가 연산자(Pre-increment) 먼저 1 증가, 그 후 연산 수행 ++a
    a
    2
    2
    N++ 후위 증가 연산자(Post-increment) 연산 후 1 증가 b++
    b
    1
    2
    --N 전위 증가 연산자(Pre- decrement) 먼저 1 감소, 그 후 연산 수행 --a
    a
    0
    0
    N-- 후위 증가 연산자(Post-decrement) 연산 후 1 감소 b--
    b
    1
    0

     

     

    반응형

    'IT > JAVA' 카테고리의 다른 글

    [무작정 기록] 배열  (0) 2025.04.11
    [무작정 기록] 제어문(선택문/반복문/기타)  (0) 2025.03.14
    [무작정 기록] 데이터 타입  (1) 2025.03.07
    [무작정 기록] JAVA용어 정리  (0) 2025.03.07
    [무작정 기록] 자바란?  (0) 2025.02.12

    댓글

Designed by Tistory.