BOOK

[JAVA] MENTOR JAVA SECTION 3

Minch13r 2025. 1. 4. 19:21

연산

 - 연산이란 데이터를 처리하고 결과를 산출하는 작업을 말한다. 연산은 항(operand)과 연산자(operator)로 이루어지는데, 항은 연산에 사용되는 값을 말하며, 연산되는 기호를 의미한다. 또한, 항과 연산자를 이용해 연산 과정을 나열한 것을 연산식이라고 한다.

 

자바는 사칙연산을 비롯해 다양한 연산자를 제공하고 있으며, 피연산자의 개수에 따라 다음과 같이 크게 세가지로 분류한다

  • 단항 연산자 : 피연산자 개수가 1개인 연산자
  • 이항 연산자 : 피연산자 개수가 2개인 연산자
  • 삼항 연산자 : 피연산자 개수가 3개인 연산자

연산자의 우선순위

 

복잡한 수식은 먼저 처리해야 할 연산식을 괄호()를 사용해 묶어서 표시하는 것이 좋다. ex) a>> (b+3)


단항 연산자

 - 단항 연산자는 피연산자가 한 개인 연산자를 말하며, 부호 연산자(+, -), 증감 연산자(++,--), 논리 부정 연산자(!)가 있다. 대표적인 부호 연산자는 -2 이와 같다.

 

부호 연산자는 말 그대로 부호를 나타내는 연산자이다. 숫자 앞에 '+' 부호가 있으면 양수를 '-' 부호가 있으면 음수를 뜻한다. 문자형 char와 논리형 boolean을 제외한 기본 자료형에서 사용할 수 있다.

 

증감 연산자는 피연산자의 값을 1씩 증가, 또는 감소시키는 연산자이다. ++는 1을 증가시키는 연산자고 피연산자의 값을 1 증가시키는 피연산자 +1과 같은 연산이다. 반대로 --는 1을 감소시키는 연산자로, 피연사자 -1과 같은 연산이다. 증감 연산자는 연산을 위해 반드시 하나의 구문으로 표현되어야 하는 것은 아니다. 피연산자가 선언된 후, 피연산자가 사용되는 어ㅣㄷ에서도 증감 연산자는 일을 할 수 있다. 단, 피연산자는 반드시 초기화가 된 상태여야 한다. 피연산자의 위치에 따라서 증감 연산자는 1을 증감시키는 순서도 다르다. 직접 코딩해서 확인해보면 좋을 것 같다.

 

논리 부정 연산자(!)는 논리 연산자 중에서 유일한 단항 연산자이다. boolean 값을 가지는 피연산자 앞에 !를 붙여서 값을 반대로 바꾸는 역할을 한다. 즉, true는 false로 false는 true로 바꿔준다.


이항 연산자

 - 피연산자가 2개인 연산자를 말한다. 일반적으로 연산자를 가운데 두고 피연산자가 왼쪽, 오른쪽에 위치한다. 대표적인 이항 연산자인 산술 연산자(+, -, *, /, %)를 비롯해 대입 연삱와 관계 연산자, 논리 연산자가 있다.

 

산술 연산자는 사칙 연산자(+, -, *, /)와 나머지 연산자(%)가 있다. 우리가 실생활에서 사용하는 산술 연산과 동일한 역할을 하는 연산자이다. 일반적으로 정수, 실수 등 숫자를 연산할 때 주로 사용된다. 하지만 다음과 같은 고려 사항이 있다.

  • 피연산자의 자료형이 일치하지 않을 경우 크기가 큰 자료형으로 자동 형 변환이 일어난 후 연산을 수행한다.
  • 연산의 결과값이 산출 자료형의 표현 범위 안에 있어야 한다. 그렇지 않을 경우 오버플로우가 발생하거나 쓰레기 값이 입력된다.

대입 연산자는 변수에 값 또한 연산 결과를 저장하는 데 사용된다. 오른쪽 피연산자의 값을 왼쪽 피연산자에 저장한다. 대표적인 대입 연산자로는 이미 산술 연산자를 학습하면서 자연스럽게 확인한 '='이 있다.

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

 

관계 연산자는 2개의 피연산자를 부호로 비교하여 그 부호 관계가 true인지 false인지 판별하는 연산자로 비교 연산자라고 한다.

관계 연산자 의미
대소 연산자 a > b a가 b보다 크면 true, 아니면 false
a >= b a가 b보다 크거가 같으면 true, 아니면 fasle
a < b a가 b보다 작으면 true, 아니면 false
a <= b a가 b보다 작거나 같으면 true, 아니면 false
등가 연산자 a == b  a와 b가 같으면 true, 아니면 false
a != b a와 b가 다르면 true, 아니면 fasle

 

논리 연산자는 피연산자로 이항을 가지며, 단항 연산자에서 학습한 논리 부정 연산자와 다르게 논리식의 결과가 true인지 false인지 반환하는 연산자이다. 논리 연산자는 피연산자로 boolean형만 사용할 수 있다.

 

연산자 논리식 연산 내용
&& 또는 & 논리식(AND) 두 항이 모두 true 일 때만 true, 나머지는 false
|| 또는 | 논리합(OR) 두 항 중 하나라도 true면 true, 모두 false면 false
^ 배타적 논리합(XOR) 두 항이 다른 값이면 true, 같으면 false
! NOT 논리식이 true이면 false로, false이면 true로 바꿔서 출력

 

비트 논리 연산자의 모든 동작의 결과를 보여주는 진리표이다.

A B A|B(OR) A&B(AND) A^B(XOR) !A(NOT)
true true true true false false
true false true false true false
false true true false true true
false false false false false true

삼항 연산자

 - 삼항 연산자는 피연산자가 3개인 연산자를 말하며, 조건 연산자라고 한다. 삼항 연산자의 피연산자는 조건으로 사용되는 조건문과 그 조건의 결과에 따라 선택될 피연산자 2개로 구성 된다.

조건식 ? 피연산자1 : 피연산자2

 

조건식의 연산 결과가 true이면 '피연산자'이 실행되며, false이면 '피연산자2'가 실행된다.

'BOOK' 카테고리의 다른 글

[JAVA] MENTOR JAVA SECTION 6  (1) 2025.01.07
[JAVA] MENTOR JAVA SECTION 5  (0) 2025.01.06
[JAVA] MENTOR JAVA SECTION 4  (0) 2025.01.05
[JAVA] MENTOR JAVA SECTION 2  (1) 2025.01.03
[JAVA] MENTOR JAVA SECTION 1  (2) 2025.01.02