
[Must Have] 이재환의 자바 프로그래밍 입문 책을 읽고 정리한 글입니다.
💡 학습 목표
산술연산 외에도 대입 연산, 비교 연산, 증감 연산, 논리 연단 등 자바에서 다루는 다양한 연산을 알아보자.
자바에서 사칙연산 기능을 하는 연산자는 다음과 같다.
| 연산자 | 설명 | 사용 예 | 결과 |
|---|---|---|---|
| + | 더하기 | 5 + 2 | 7 |
| - | 빼기 | 5 - 2 | 3 |
| * | 곱하기 | 5 * 2 | 10 |
| / | 나누기의 몫 | 5 / 2 | 2 |
| % | 나누기의 나머지 | 5 % 2 | 1 |
대입 연산자는 오른쪽에 있는 연산식의 결과를 왼쪽에 있는 변수에 저장한다.
int num = 100;
int myScore = 50 + 20;
위 코드에서 등호 "=" 가 대입 연산자이다. 상수를 바로 대입할 수도 있고, 연산 결과를 대입할 수도 있다.
대입 연산자에는 단순한 대입은 등호 "=" 외에 복합 대입 연산자도 있다.
| 연산자 | 설명(다른 방법) |
|---|---|
| a += b | a = a + b |
| a -= b | a = a - b |
| a *= b | a = a * b |
| a /= b | a = a / b |
| a %= b | a = a % b |
복합 대입 연산자를 쓰면 코드가 간결해진다.
부호 연산자 : 기본 자료형의 숫자 부호를 나타낼 때 사용
증감 연산자 : 변수의 값을 1 증가시키거나 1 감소시킬 때 사용
| 연산자 | 사용 예 | 설명 |
|---|---|---|
| + | +x | 부호 유지(의미 없는 연산 |
| - | -x | 부호 반전 |
| ++ | ++x | 다른 연산 전 x값을 증가시킴 |
| x++ | 다른 연산 후 x값을 증가시킴 | |
| -- | --x | 다른 연산 전 x값을 감소시킴 |
| x-- | 다른 연산 후 x값을 감소시킴 |
두 피연산자를 비교해 결괏값으로 논리 값인 true나 false를 반환해준다. 관계 연산자라고도 한다.
int x = 2;
int y = 1;
위와 같이 x와 y가 있을 때 연산 결과를 확인해보자.
| 연산자 | 사용 예 | 설명 | 결과 |
|---|---|---|---|
| == | x == y | x와 y는 같다. | false |
| != | x != y | x와 y는 같지 않다. | true |
| > | x > y | x가 y보다 크다. | true |
| >= | x >= y | x가 y보다 크거나 같다. | true |
| < | x < y | x가 y보다 작다. | false |
| <= | x <=y | x가 y보다 작거나 같다. | false |
논리 연산자는 논리 연산을 프로그래밍 언어로 표현한 연산자이다.
| 연산자 | 기능 |
|---|---|
| && | 두 항이 모두 참이면 결과값이 참이다. |
| (논리곱, And) | 그렇지 않은 경우 거짓이다. |
| || | 두 항 중 하나의 항이라도 참이면 결괏값은 참이다. |
| (논리합, Or) | 두 항이 모두 거짓이면 결괏값은 거짓이다. |
| ! | 값이 참인 경우는 거짓으로 바꾼다. |
| (부정, Not) | 값이 거짓인 경우는 참으로 바꾼다. |
true, false 논리 연산 진리표
| A | B | A && B | A || B | !A |
|---|---|---|---|---|
| true | true | true | true | false |
| true | false | false | true | false |
| false | true | false | true | true |
| false | false | false | true | false |
조건 연산자는 주어진 조건식이 참인 경우와 거짓인 경우에 다른 결괏값을 나타내주는 연산자이다.
수식 표현법은 다음과 같다.
조건식 ? 참일 때 실행 : 거짓일 때 실행;
ex) (age > 20) => 조건식 / 2 => 참일 때 실행 / 1 => 거짓일 때 실행
int myclass = (age > 20) ? 2 : 1;
자바에서는 단항, 이항, 삼항 연산자를 제공한다.
1항 ? 2항 : 3항;
| 우선순위 | 종류 | 연산자 |
|---|---|---|
| 1 | ,점 [ ] 대괄호 ()소괄호 | |
| 2 | 단항 | ++ 증가 -- 감소 ! 부정 + 부호 - 부호 |
| 3 | 산술 | * 곱하기 / 나누기 몫 % 나머지 |
| 4 | 산술 | + 더하기 - 빼기 |
| 5 | 비교 | < 작다 <= 작거나 같다 > 크다 >= 크거나 같다 |
| 6 | 관계 | == 같다 != 같지 않다 |
| 7 | 논리곱 | && and |
| 8 | 논리합 | || or |
| 9 | 조건 | booleanExpression ? exp1 : exp2 |
| 10 | 대입 | = += -= *= /= %= |