Java

[자바] 연산자(Operator)

lala9663 2022. 9. 19. 18:54

1. 연산자와 피연산자

  • 연산자
    연산자를 수행하는 기호를 의미
  • 피연산자
    연산자와 연산을 수행하려면 반드시 연산의 대상이 있어야 한다.
    연산자: 연산을 수행하는 기호
    피연산자: 연산의 작업 대상 연산자는 피연산자로 연산을 수행하면 항상 결과 값을 반환한다.

2. 연산자의 종류

종류 연산자 설명
산술연산자 +, -, *, /, %, <<, >> 사칙연산
관계연산자 >, <, >=, <=, ==, != 크고 작음과 다름을 비교
논리 연산자 &&, \\, !, &, ^, ~ AND, OR 으로 조건을 연결
대입 연산자 = 우변의 값을 좌변에 저장
기타 연산자 instanceof instanceof 연산자

3. 연산자의 우선순위

최단산쉬관리삼대

최우선 ----> 단항        ----> 산술   ----> 쉬프트 ----> 관계 ----> 논리 -> 삼항 -> 대입

  

4. 단항 연산자

  • 증감 연산자 ++, --
    • 증감 연산자는 피연산자에 저장된 값을 1 증가 또는 1 감소시킨다.
    • 일반적으로 단항 연산자는 피연산자의 왼쪽에 위치하지만 증감 연산자는 양쪽 모두 가능하다.
    • 전위형과 후위형 모두 피연산자의 값을 1 증가 또는 1 감소시키지만 수식이나 메서드 호출에 포함된 경우에는 서로 결과가 다르다.

 

5. 산술 연산자

  • 산술 연산자에는 +, -, *, /, % 가 있다.

 

6. 관계 연산자, 비교 연산자

관계연산자 연산 결과
> 좌변의 값이 크면 true, 아니면 false
< 좌변 값이 작으면 true, 아니면 false
>= 좌변 값이 크거나 같으면 true, 아니면 false
<= 좌변 값이 작거나 같으면 true, 아니면 false
비교연산자 연산 결과
== 두 값이 같으면 true, 아니면 false
!= 두 값이 다르면 true, 아니면 false

7. 논리 연산자

  • 논리 연산자는 둘 이상의 조건을 AND 또는 OR으로 연결하여 하나의 식으로 표현할 수 있게 한다.
|| (OR 결합) 피연산자 중 어느 한쪽만 true이면 true
&&(AND 결합) 피연산자 모두 true 여야 true
!(NOT) true 이면 false, false 이면 true

8. 대입 연산자

  • 대입 연산자는 변수와 같은 저장공간에 값 또는 수식의 연산 결과를 저장하는 데 사용한다.
+= 더한 값을 저장
-= 뺀 값을 저장
*= 곱한 값을 저장
/= 나눈 값을 저장
%= 나눈 나머지를 저장

9. 비트 연산자

  • 대입 연산자와 다른 연산자가 함께 쓰임
  • 마스크: 특정 비트를 가리고 몇 개의 비트 값만 사용할 때
  • 비트 켜기: 특정 비트들만을 1로 설정해서 사용하고 싶을 때

    예) &00001111(하위 4비트 중 1인 비트만 꺼내기)
  • 비트 끄기: 특정 비트들만을 0으로 설정해서 사용하고 싶을 때

    예) |11110000(하위 4비트 중 0인 비트만 0으로 만들기)
  • 비트 토굴: 모든 비트들은 0은 1로, 1은 0으로 바꾸고 싶을 때
연산자 설명
~ 비트의 반전(1의 보수) a = ~a;
& 비트 단위 AND 1 & 1 1반환 그 외는 0
| 비트 단위 OR 0|0 0반환 그 외는 1
^ 비트 단위 XOR 두 개의 비트가 서로 다른 경우에 1을 반환
<< 왼쪽 shift a << 2 변수 a를 2 비트 만큼 왼쪽으로 이동
>> 오른쪽 shift a >> 2 변수 a를 2비트 만큼 오른쪽으로 이동
>>> 오른쪽 shift >> 동일한 연산
채워지는 비트가 부호와 상관없이 0임