[자바 기초] 연산자 Operator

연산자

연산자와 피연산자

  • 연산자 Operator : 특정한 연산자를 나타내는 기호
  • 피연산자 Operand : 연산의 대상

연산자의 종류

연산자 우선순위 결합 규칙
배열, 멤버, 메소드 호출 [], ()(메소드 호출) 왼쪽 → 오른쪽
단항 ! ~ ++ — + - ()(형변환) new 왼쪽 → 오른쪽
곱셈 * / % 왼쪽 → 오른쪽
덧셈 + - 왼쪽 → 오른쪽
이동 « »> » 왼쪽 → 오른쪽
관계 <, >, <=, =>, instanceof 왼쪽 → 오른쪽
동등 ==, = ! 왼쪽 → 오른쪽
비트별 AND & 왼쪽 → 오른쪽
비트별 XOR ^ 왼쪽 → 오른쪽
비트별 OR | 왼쪽 → 오른쪽
논리적 AND && 왼쪽 → 오른쪽
논리적 OR || 왼쪽 → 오른쪽
조건 ? : 오른쪽 → 왼쪽
대입 =, +=, -=, *=, /=, %=, &=, ^=, |=, «=, »=, »>= 오른쪽 → 왼쪽

단항 연산자와 이항연산자

  • 단한 연산자는 하나의 항에 대한 연산을 수행
    • 증감 연산자와 논리 부정 연산자가 이에 해당
  • 이항 연산자는 두개의 항에 대한 연산을 수행
    • 산술 연산자와 비교연산자. 논리연산자 등

산술 연산자

  • 두개의 피연산자에 대하여 산술 연산을 위해 사용
  • 덧셈 + , 뺄셈 - , 곱셈 * , 나눗셈 / , 나머지 %

증감 연산자

  • 하나의 피연산자를 증가시키거나 감소시키기 위해 사용
  • 1만큼 증가 : ++, 1만큼 감소 : –
int nextx = ++x; //현재 변수 x의 값을 대입하기 전 이를 증가시키고 nextx에 대입한다.
int nexty = y--; //현재 변수 y의 값을 nexty에 대입한 다음 y의 값을 감소시킨다.

관계 연산자

  • 두개의 피연산자를 비교하는데 사용

      //변수 x와 y의 값에 대하여
      x == y; //둘이 같은가
      x != y; //둘이 다른가
      x > y; // x가 y보다 큰가
      x < y; // x가 y보다 작은가
      x >= y; // x가 y보다 크거나 같은가
      x <= y; // x가 y보다 작거나 같은가
    
  • true(참) 또는 false(거짓)을 반환

논리 연산자

  • 여러개의 조건을 참인지 거짓인지 판별하기 위해 사용
  • AND 연산 && , OR연산   , NOT 연산 !
      3==3 && 4==7; //false
      3==3 || 4==7; //true
      !false; //true
    

비트연산자

  • 하나 또는 두개의 피연산자를 비트 연산 하기 위해 사용
  • 비트 NOT ~
    • ~0x0010 == 0x1101
  • 비트 AND &
    • 0x0FF0 & 0xF0F0 == 0x00F0
  • 비트 XOR ^
    • 0x0FF0 ^ 0xF0F0 == 0xFF00
  • 비트 OR
    • 0x0FF0 0xF0F0 == 0xFFF0
  • 비트 왼쪽 이동 «
    • 0xFFF«4 == 0xFFF0
  • 비트 오른쪽 이동 »
    • 0xFFF0»4 == 0xFFFF
  • 비트 오른쪽 이동 (unsigned) »>
    • 0xFFF0»5 == 0x0FFF

대입 연산자

  • 순수 대입 연산자 =
  • 복합 대입 연산자
    • 다른 연산자와 대입 연산자를 결합
    • 자기 자신과 연산한 후 그 결과를 누적 대입
    • +=, -=, *=, /=, %= 등

삼항 연산자

  • 조건식 ? 식1 : 식2;
  • 조건 식의 결과가 참인 경우 식1 수행, 거짓이 경우 식2 수행
  • 삼항 연산자 안에 삼항 연산자 중첩 가능

You might also enjoy