연산자의 종류

문세연·2025년 2월 25일

JAVA

목록 보기
13/19
post-thumbnail

연산 = 데이터를 처리하고 결과를 산출하는 작업.
연산은 항 (operand) 과 연산자 (operator) 로 이뤄짐.
항 = 연산에 사용되는 값.
연산자 = 기호
항과 연산자를 이용해 연산 과정을 나열한 것 = 연산식.
단항, 이항, 삼항 연산자
단항 = 피연산자 개수가 1개
이항 = 피연산자 개수가 2개
삼항 = 피연산자 개수가 3개
연산자에는 우선순위가 있다.
단 > 이 > 삼
최 > 단 > 산 > 쉬 > 관 > 리 > 삼 > 대 > 콤

최 : 복잡한 수식은 먼저 처리해야 할 연산식을 괄호()를 이용해 묶어서 표시함. 괄호 안의 연산은 최우선 순위를 가지므로 다른 연산자보다 우선 처리가 됨.
그래서 우선 순위 변경, 혹은 포현식의 의미를 명확히 할 수도 있음.
ex) 4 + c >> b & 7
(((4 + c) >> b) & 7)
밑이 훨 이해하기 쉬움.
연산 결합 방향 : 산술 연산자는 연산 결합 방향이 왼쪽에서 오른쪽, 대입 연산자는 오른쪽에서 왼쪽으로 결합하니 무엇을 먼저 수행할지 역시 결정.

단 : 피연산자가 한 개인 연산자. 부호 연산자, 증감 연산자, 논리 부정 연산자가 있음.

1) 부호 연산자 : +, -
말 그대로 부호를 나타내는 연산자. 숫자 앞에 + 부호가 있으면 양수, - 부호가 있으면 음수. 문자형인 char이랑 논리형인 boolean을 제외한 기본 자료형에서 사용 가능.
2) 증감 연산자 ++, --
피연산자의 값을 1씩 증가, 또는 감소시키는 연산자임.
++는 증가시키는 +1과 같은 연산, --는 -1과 같은 연산. 피연산자는 위치에 따라 증감 연산자는 12을 증감시키는 순서도 달라짐. ++이 뒤에 있다면 나중에 반영, ++이 앞에 있다면 바로 반영. (전위형, 후위형)
3) 논리 부정 연산자 : !
논리 연산자 중에서 유일한 단항 연산자. boolean 값을 가지는 피연산자 앞에 !를 붙여서 값을 반대로 바꾸는 역할. true는 false로 false는 true로 바꿔줌. 또한 TV 전원의 온 오프처럼 두 가지 기능을 번갈아 사용하는 토글 기능을 구현할 때 사용.

이항연산자 : 피연산자가 2개인 연산자.
1) 산술 연산자 : +, -, , /, %
산술 연산자는 사칙 연산자와 나머지 연산자가 있음.
우리가 실생활에서 사용하는 산술 연산과 동일한 역할을 하는 연산자임. 일반적으로 정수, 실수 등 숫자를 연산할 때 주로 사용.
그 중애서도
, /, %, +, - 순으로 연산 순위가 정해짐.

  • 산술 연산자를 사용할 떄 : 고려 사항 : 피 연산자의 자료형이 일치하지 않을 경우 크기가 큰 자료형으로 자동 형변환이 일어난 후, 연산 수행. 연산의 결과값이 산출 자료형의 표현 범위 안에 있어야 함. 그렇지 않으면 오버플로우가 발생하거나 쓰레기 값이 입력됨.

2) 대입 연산자 (=, +=, -=, *=, /=, %=)
대입 연산자는 변수에 값 또는 연산 결과를 저장하는 데 사용. 오른쪽 피연산자의 값을 왼쪽 피연산자에 저장. 대표적인 대입 연산자로는 이미 산술 연산자를 학습하며 자연스럽게 확인한 '=이 있다.'
이 외에도 복합 대입 연산자 있음. 결합한 두 연산자는 반드시 공백 없이 작성해야.

= : 왼쪽 피연산자에 오른쪽 피연산자의 값을 대입
+= : 왼쪽 피연산자에 오른쪽 피연산자를 더한 값을 대입
-= : 왼쪽 피연산자에 오른쪽 피연산자를 뺸 값을 대입
*= : 왼쪽 피연산자에 오른쪽 피연산자를 곱한 결과값을 대입
/= : 왼쪽 피연산자에 오른쪽 피연산자를 나눈 몫을 대입
%= : 왼쪽 피연산자에 오른쪽 피연산자를 나눈 나머지를 대입

대입 연산자는 우선순위가 가장 낮은 연산자로 가장 마지막에 수행. 복합 대입 연산자는 산술 연산자와 함께 자주 사용되므로 적절히 사용할 수 있도록 연습.

3) 관계 연산자 (<, <=, >, >=, ==, !=)
2개의 피연산자를 부호로 비교해 그 부호 관계가 true 인지 false 인지 판별하는 연산자로 비교 연산자라고 함. 실생활에서 사용하는 부등호라고 생각하면 쉬움.
대소 연산자(>, >=, <, <=), 등가 연산자 (==, !=)
대소 연산자는 boolean형을 제외한 기본 자료형에서 사용할 수 있으며, 등가 연산자는 모든 자료형에서 사용 O

  • 관계 연산자는 2개 이상 연속으로 사용 불가능
  • 관계 연산자의 연산 방향은 왼 -> 오, 기본 형태 자체가 관계 연산자 기준으로 왼쪽 오른쪽의 피연산자를 비교한 후 결과값 반환. 만약 A <= B == C와 같이 연속으로 작성할 경우, A <= B의 연산에 대한 결과 확인하고 바로 겨로가값을 반환해버리기 떄문에 C는 연산의 대상조차 될 수 없음

관계 연산자는 조건문과 반복문의 조건식에 주로 사용됨.

4) 논리 연산자 (&&, ||, &, |, ^, !)
논리 연산자는 피연산자로 이항을 가지며, 단항 연산자에서 학습한 논리 부정 연산자와 다르게 논리식의 결과가 true인지 false인지 반환함. 논리 연산자는 피연산자로 boolean형만 사용할 수 있음. 논리 연산자의 종류와 기능은 다음과 같음.

&& : 논리곱 : 두 항이 모두 true일 때만 true. (&도)
|| : 논리합 : 두 항 중 하나로 true일 때 true. (|도)
^ : 배타적 논리합 : 두 항이 다른 값이면 true, 같으면 false
! : NOT : 논리식이 true 이면 false, false이면 true로 바꿔서 출력

삼항 연산자 : 피연산자가 3개인 연산자, 조건 연산자라고도 함.
피연산자는 조건으로 사용되는 조건문과 그 조건문의 결과에 따라 선택될 피연산자 2개로 구성됨.
조건식 ? 피연산자 1 : 피연산자 2

profile
안녕하세용!

0개의 댓글