[Must Have Java][Chapter 04] 연산자

허다람·2024년 5월 8일
post-thumbnail

[Must Have] 이재환의 자바 프로그래밍 입문 책을 읽고 정리한 글입니다.

💡 학습 목표
산술연산 외에도 대입 연산, 비교 연산, 증감 연산, 논리 연단 등 자바에서 다루는 다양한 연산을 알아보자.

1. 산술 연산자

자바에서 사칙연산 기능을 하는 연산자는 다음과 같다.

연산자설명사용 예결과
+더하기5 + 27
-빼기5 - 23
*곱하기5 * 210
/나누기의 몫5 / 22
%나누기의 나머지5 % 21

2. 대입 연산자와 복합 대입 연산자

대입 연산자는 오른쪽에 있는 연산식의 결과를 왼쪽에 있는 변수에 저장한다.

int num = 100;
int myScore = 50 + 20;

위 코드에서 등호 "=" 가 대입 연산자이다. 상수를 바로 대입할 수도 있고, 연산 결과를 대입할 수도 있다.

대입 연산자에는 단순한 대입은 등호 "=" 외에 복합 대입 연산자도 있다.

연산자설명(다른 방법)
a += ba = a + b
a -= ba = a - b
a *= ba = a * b
a /= ba = a / b
a %= ba = a % b

복합 대입 연산자를 쓰면 코드가 간결해진다.

3. 부호 연산자 증감 연산자

부호 연산자 : 기본 자료형의 숫자 부호를 나타낼 때 사용
증감 연산자 : 변수의 값을 1 증가시키거나 1 감소시킬 때 사용

연산자사용 예설명
++x부호 유지(의미 없는 연산
--x부호 반전
++++x다른 연산 전 x값을 증가시킴
x++다른 연산 후 x값을 증가시킴
----x다른 연산 전 x값을 감소시킴
x--다른 연산 후 x값을 감소시킴

4. 비교 연산자(관계 연산자)

두 피연산자를 비교해 결괏값으로 논리 값인 true나 false를 반환해준다. 관계 연산자라고도 한다.

int x = 2;
int y = 1;

위와 같이 x와 y가 있을 때 연산 결과를 확인해보자.

연산자사용 예설명결과
==x == yx와 y는 같다.false
!=x != yx와 y는 같지 않다.true
>x > yx가 y보다 크다.true
>=x >= yx가 y보다 크거나 같다.true
<x < yx가 y보다 작다.false
<=x <=yx가 y보다 작거나 같다.false

5. 논리 연산자

논리 연산자는 논리 연산을 프로그래밍 언어로 표현한 연산자이다.

  • 두 명제가 모두 참이라면 논리곱은 참이고
  • 두 명제 중 하나라도 참이라면 논리합은 참이다.
  • 참의 부정은 거짓, 거짓의 부정은 참이다.
연산자기능
&&두 항이 모두 참이면 결과값이 참이다.
(논리곱, And)그렇지 않은 경우 거짓이다.
||두 항 중 하나의 항이라도 참이면 결괏값은 참이다.
(논리합, Or)두 항이 모두 거짓이면 결괏값은 거짓이다.
!값이 참인 경우는 거짓으로 바꾼다.
(부정, Not)값이 거짓인 경우는 참으로 바꾼다.

true, false 논리 연산 진리표

ABA && BA || B!A
truetruetruetruefalse
truefalsefalsetruefalse
falsetruefalsetruetrue
falsefalsefalsetruefalse

6. 조건 연산자

조건 연산자는 주어진 조건식이 참인 경우와 거짓인 경우에 다른 결괏값을 나타내주는 연산자이다.
수식 표현법은 다음과 같다.

조건식 ? 참일 때 실행 : 거짓일 때 실행;

ex) (age > 20) => 조건식 / 2 => 참일 때 실행 / 1 => 거짓일 때 실행
int myclass = (age > 20) ? 2 : 1;

7. 단항•이항•삼항 연산자

자바에서는 단항, 이항, 삼항 연산자를 제공한다.

  • 단항 연산자 : ++x, y--에서 ++, --는 하나의 피연산자만으로 이루어진 식으로 연산을 수행한다. 이런 연산자를 단항 연산자라고 한다.
  • 이항 연산자 : x + y 에서 + 연산자는 피연산자를 두 개 가지고 식을 구성하기 때문에 이항 연산자라고 한다.
  • 삼항 연산자 : 삼항 연산자는 항이 세 개 있어야 한다. 앞서 조건 연산자에서 보여준 수식이 삼항 연산자이다.
1? 2: 3;

8. 연산자 우선순위

우선순위종류연산자
1,점 [ ] 대괄호 ()소괄호
2단항++ 증가 -- 감소 ! 부정 + 부호 - 부호
3산술* 곱하기 / 나누기 몫 % 나머지
4산술+ 더하기 - 빼기
5비교< 작다 <= 작거나 같다 > 크다 >= 크거나 같다
6관계== 같다 != 같지 않다
7논리곱&& and
8논리합|| or
9조건booleanExpression ? exp1 : exp2
10대입= += -= *= /= %=

핵심 요약

  • 산술 연산자는 사칙연산 계산 기능을 하는 연산자이다.
  • 대입 연산자는 오른쪽에 있는 연산식의 결과를 왼쪽에 있는 변수에 저장한다.
  • 부호 연산자는 기본 자료형의 숫자 부호를 나타낼 때 사용하고, 증감 연산자는 변수의 값을 1 증가시키거나 1감소시킬 때 사용한다.
  • 비교 연산자는 두 피연산자를 비교해 결괏값으로 true나 false를 반환해준다.
  • 논리 연산자는 논리 연산을 프로그래밍 언어로 표현한 연산자이다.
  • 조건 연산자는 주어진 조건식이 참인 경우와 거짓인 경우에 다른 결괏값을 나타내주는 연산자이다.
  • 자바는 단항, 이항, 삼항 연산자를 제공한다.
  • 연산자들은 연산을 수행함에 있어 우선순위를 가진다.
profile
나 java봐라

0개의 댓글