프로그램에서 데이터를 처리하여 결과를 산출하는 것을 연산(operation)이라고 하며,  자바 언어에서는 다양한 연산자를 제공하고 있습니다. 

연산자는 산출 방법에 따라 산술, 부호, 문자열, 대입, 증감, 비교 연산자로 구분하고, 피연산자 수에 따라 단항, 이항, 삼항 연산자로 구분합니다.
피연산자 수에 따라 구분하는 연산자를 기준으로 각각의 연산 방법을 정리했습니다.

 

 


 

🧮단항 연산자

단항 연산자는 피연산자가 단 하나뿐인 연산자를 말하며, 부호 연산자(+, -), 증감 연산자(++, –), 논리 부정 연산자(!)가 있습니다.

 

 

🎲부호 연산자(+, -)

부호 연산자는 양수 및 음수를 표시하는 +, -를 말합니다. boolean 타입과 char 타입을 제외한 나머지 기본 타입에 사용할 수 있습니다.

연산식 설명
+ 피연산자 피연산자의 부호 유지
피연산자 피연산자의 부호 변경

 

 

🎲증감 연산자(++, – –)

증감 연산자는 변수의 값을 1 증가(++)시키거나 1 감소(- -)시키는 연산자를 말합니다. boolean 타입을 제외한 모든 기본 타입의 피연산자에 사용할 수 있습니다.

연산식 설명
++ 피연산자 다른 연산을 수행하기 전에 피연산자의 값을 1 증가시킴
– – 피연산자 다른 연산을 수행하기 전에 피연산자의 값을 1 감소시킴
피연산자 ++ 다른 연산을 수행한 후에 피연산자의 값을 1 증가시킴
피연산자 – – 다른 연산을 수행한 후에 피연산자의 값을 1 감소시킴

 

 

🎲논리 부정 연산자(!)

논리 부정 연산자는 true를 false로, false를 true로 변경하기 때문에 boolean 타입에만 사용할 수 있습니다.

연산식 설명
! 피연산자 피연산자가 true이면 false 값을 산출
피연산자가 false이면 true 값을 산출

 

 


 

🧮이항 연산자

이항 연산자는 피연산자가 2개인 연산자를 말하며, 여기에는 산술 연산자(+, -, *, /, %), 문자열 결합 연산자(+), 비교 연산자(<, <=, >, >=, ==, !=), 논리 연산자(&&, ||, &, |, ^, !), 대입 연산자(=, +=, -=, *=, /=, %=) 등이 있습니다.

 

 

🎲산술 연산자(+, -, *, /, %)

산술 연산자는 사칙연산자인 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/)과 나머지를 구하는 %까지 총 5개입니다. 산술 연산자는 boolean 타입을 제외한 모든 기본 타입에 사용할 수 있습니다.

연산식
설명
피연산자 + 피연산자 덧셈 연산
피연산자 피연산자 뺄셈 연산
피연산자 * 피연산자 곱셈 연산
피연산자 / 피연산자 왼쪽 피연산자를 오른쪽 피연산자로 나눗셈 연산
피연산자 % 피연산자 왼쪽 피연산자를 오른쪽 피연산자로 나눈 나머지를 구하는 연산

 

 

🎲비교 연산자(<, <=, >=, ==, !=)

비교 연산자는 피연산자의 대소(<, <=, >, >=) 또는 동등(==, !=)을 비교해서 true/false를 산출합니다. 대소 연산자는 boolean을 제외한 기본 타입에 사용할 수 있고, 동등 연산자는 모든 타입에 사용할 수 있습니다. 비교 연산자는 흐름 제어문인 조건문(if), 반복문(for, while)에서 주로 이용되어 실행 흐름을 제어할 때 사용됩니다.

구분 연산식 설명
동등 비교 피연산자A == 피연산자B 두 피연산자의 값이 같은지 검사
피연산자A != 피연산자B 두 피연산자의 값이 다른지 검사
크기 비교 피연산자A > 피연산자B 피연산자A가 큰지 검사
피연산자A >= 피연산자B 피연산자A가 크거나 같은지 검사
피연산자A < 피연산자B 피연산자A가 작은지 검사
피연산자A <= 피연산자B  피연산자A가 작거나 같은지 검사

 

 

🎲논리 연산자(&&, ||, &, |, ^, !)

논리 연산자는 논리곱(&&), 논리합(||), 배타적 논리합(^), 논리 부정(!) 연산을 수행합니다. 논리 연산자의 피연산자는 boolean 타입만 사용할 수 있습니다.

구분 연산식 결과 설명
AND
(논리곱)
true &&
또는
&
true true 피연산자 모두가 true일 경우에만 연산 결과가 true
true false false
false true false
false false false
OR
(논리합)
true ||
또는
|
true true 피연산자 중 하나만 true 이면 연산 결과는 true
true false true
false true true
false false false

 

구분 연산식 결과 설명
XOR
(베타적 논리합)
true ^ true true 피연산자 모두가 true일 경우에만 연산 결과가 true
true false false
false true false
false false false
NOT
(논리 부정)
  !
true false 피연산자가 하나는 true이고
다른 하나가 false일 경우에만 연산 결과가 true
false true 피연산자의 논리값을 바꿈

 

 

 


🧮삼항 연산자

삼항 연산자(?:)는 3개의 피연산자를 필요로 하는 연산자를 말합니다. 삼항 연산자는 ? 앞의 조건식에 따라 콜론(:) 앞뒤의 피연산자가 선택된다고 해서 조건 연산식이라고 부르기도 합니다.

삼항 연산자

 

 


 

연산의 방향과 우선순위

  1. 단항, 이항, 삼항 연산자 순으로 우선순위를 가집니다.
  2. 산술, 비교, 논리, 대입 연산자 순으로 우선순위를 가집니다.
  3. 단항, 부호, 대입 연산자를 제외한 모든 연산의 방향은 왼쪽에서 오른쪽입니다.
  4. 복잡한 연산식에는 괄호 ()를 사용해서 우선순위를 정합니다.

자바_연산의_방향과_우선순위

 

 


 

위 내용은 <혼자 공부하는 자바>를 재구성하여 작성하였습니다. 

혼자 공부하는 자바

지금까지 자바의 연산자와 연산의 방향 그리고 우선순위에 대해 알아보았습니다. 각 연산자의 예제와 실행 결과, 자세한 설명이 필요하시다면 <혼자 공부하는 자바>의 Chapter 3. 연산자 편을 확인해보세요. 

 

✍손코딩예제
📑혼공 용어노트 PDF

👀도서 자세히보기
👨‍💻유튜브 무료 강의-연산자 편