[Java] 연산자

전우석·2024년 3월 5일

Java

목록 보기
2/24
  • 특정 작업이나 연산을 수행하기 위해 사용되는 기호

연산자 종류

부호 연산자

  • 피연산자의 부호를 변경한다.
기호사용역할
++varvar의 부호를 그대로 반환
--varvar의 부호를 반대로 반환

증감 연산자

  • 피연산자의 값을 증가시키거나 감소시킨다.
기호사용역할
++++var(전위 증가 연산자) - var가 호출되어 사용(연산)되기 전 1 증가
var++(후위 증가 연산자) - var가 호출되어 사용(연산)되고 난 후 1 증가
—var(전위 감소 연산자) - var가 호출되어 사용(연산)되기 전 1 감소
var—(후위 감소 연산자) - var가 호출되어 사용(연산)되고 난 후 1 감소

산술 연산자

  • 피연산자를 대상으로 수학적인 계산을 수행
기호사용역할
+var1 + var2var1과 var2를 더한 값 반환
-var1 - var2var1에서 var2를 뺀 값 반환
*var1 * var2var1과 var2를 곱한 값 반환
/var1 / var2var1을 var2로 나눈 값 반환(정수: 몫, 실수: 나눈 값)
%var1 % var2var1을 var2로 나눈 나머지 반환

시프트 연산자(비트 연산자)

  • 피연산자를 대상으로 시프트 연산(이진법 연산) 수행
기호사용역할
&var & int(비트 AND)
var
^var ^ int(비트 XOR)
~var ~ int(비트 NOT)
<<var << int(왼쪽 시프트 연산자)
>>var >> int(오른쪽 시프트 연산자)

논리 연산자

  • 피연산자를 대상으로 논리 연산 수행
기호사용역할
&&A && BAND - A이며 B일 때 true 반환
!!ANOT - A가 아닐 때 true 반환
^A ^ BXOR - A나 B중 하나만 true일때 true 반환

삼항 연산자(조건 연산자)

  • 조건에 따라 정해진 연산 수행
기호사용역할
? :A ? B : CA이면(?) B 호출, 아니라면(:) C 호출

대입 연산자(할당 연산자)

  • 피연산자에 값을 할당하는 데 사용

값 할당 연산자

기호사용역할
=var1 = var2var2를 var1에 할당한다.

복합 할당 연산자

기호사용역할
+=var1 += var2var1과 var2를 더한 값을 var1에 다시 할당한다.
-=var1 -= var2var1에서 var2를 뺀 값을 var1에 다시 할당한다.
*=var1 *= var2var1과 var2를 곱한 값을 var1에 다시 할당한다.
/=var1 /= var2var1을 var2로 나눈 값을 var1에 다시 할당한다.(정수: 몫, 실수: 나눈 값)
%=var1 %= var2var1을 var2로 나눈 나머지를 var1에 다시 할당한다.

비교 연산자

  • 피연산자끼리의 관계를 비교

동등 비교 연산자

기호사용역할
==var1 == var2var1과 var2가 동일하면 true 반환
!=var1 != var2var1과 var2가 동일하지 않으면 true 반환
  • 특수한 경우: 문자열(String)
    • 동일한 문자열 리터럴을 참조하는 변수들은 같은 객체를 가리킨다
    • new String(””)으로 생성한 문자열 객체는 다른 객체로 생성됨

크기 비교 연산자

기호사용역할
<var1 < var2var1이 var2보다 크다면 true 반환
<=var1 <= var2var1이 var2보다 크거나 같다면 true 반환
>var1 > var2var1이 var2보다 작다면 true 반환
>=var1 >= var2var1이 var2보다 작거나 같다면 true 반환

연산자에도 우선순위가 있다. 우선순위는 위에 열거한 항목 기준 위에서 아래로 갈수록 낮다.
(증감 → 산술 → 시프트 → 논리 → 삼항 → 비교 → 대입)

0개의 댓글