연산자1: 연산자의 규칙과 특징
2023. 5. 18. 02:28
연산자는 우선순위가 있으며, 종류마다 우선순위가 다르다.
정리해놓고 필요하면 찾아보자.
▶︎ 연산자란?
- 연산자(operator)는 연산을 수행하는 기호를 말한다.
- 연산(operate)은 프로그램에서 데이터를 처리하여 결과를 산출하는 일련의 과정을 말한다.
- 피연산자(operand)는 연산자가 연산을 수행하는 대상을 말한다.
- 모든 연산자(operator)는 연산결과를 갖는다.
// 예시
x + 3 // x, 3은 피연산자, +는 연산자
▶︎ 단항 연산자, 이항 연산자, 삼항 연산자
단항 연산자
연산자 종류 | 연산자 | 피연산자 수 | 결합규칙 |
부호 연산자 | +, - (양수, 음수) | 단항 | ← |
증감 연산자 | ++, -- (1 증가, 1 감소 / 전위, 후위) | 단항 | |
형변환 연산자 | ( type ) | 단항 | |
논리 연산자 | ! | 단항, 이항 | |
비트 연산자 | ~ (보수) | 단항, 이항 |
- 연산자는 여러 종류가 있다. 피연산자의 개수에 따라 연산자를 분류하기도 한다.
- 단항 연산자는 피연산자의 개수가 하나이다. 이항 연산자, 삼항 연산자와 비교했을 때 가장 높은 우선순위를 가진다.
이항 연산자
연산자 종류 | 연산자 | 피연산자 수 | 결합규칙 |
산술 연산자 | *, /, %, +, -, <<, >> | 이항 | → |
비교 연산자 | <, >, <=, >=, ==, != | 이항 | |
instanceof 연산자 | instaceof | 이항 | |
논리 연산자 | &, ^, |, &&, || | 이항 | |
대입 연산자, 복합 대입 연산자 | =, +=, -=, *=, /=, %=, <<=, >>=, &=, ^=, |= | 이항 | ← |
- 이항 연산자는 피연산자의 개수가 2개다. 단항 연산자, 삼항 연산자에 비교했을 때 두 번째 우선순위를 가진다.
- 단, 대입 연산자는 모든 연산자 통틀어서(삼항 연산자 포함) 가장 후순위이다.
삼항 연산자
연산자 종류 | 연산자 | 피연산자 수 | 결합규칙 |
삼항 연산자 | ?: | 삼항 | → |
- 삼항 연산자는 피연산자의 개수가 3개다. 단항 연산자, 이항 연산자에 비교했을 때 마지막 우선순위를 가진다.
- 단, 이항 연산자 중 대입 연산자보다 우선순위를 가진다.
- 삼항 연산자는 간단한 조건문 대신 사용할 수 있다. (아래 예시)
/*
( 조건문 )? 참일때 나올 값 : 거짓일때 나올 값
- 연산 결과값의 자료형에 신경써야한다.
*/
int ternary_operator = (1 > 0)? 10:20;
boolean ternary_operator_error = (true)? 1 : 0; // 불가: 결과값 1과 0은 int형이기 때문이다.
연산자의 우선순위를 모두 정리하면 아래와 같다.
우선순위 | 연산자 | 설명 |
1 | [] | 첨자 연산자 |
. | 멤버 연산자 | |
2 | ++ | 후위 증가 연산자 |
-- | 후위 감소 연산자 | |
3 | ! | 논리 NOT 연산자 |
~ | 비트 NOT 연산자 | |
+ | 양의 부호 (단항 연산자) | |
- | 음의 부호 (단항 연산자) | |
++ | 전위 증가 연산자 | |
-- | 전위 감소 연산자 | |
(타입) | 타입 캐스트 연산자 | |
4 | * | 곱셈 연산자 |
/ | 나눗셈 연산자 | |
% | 나머지 연산자 | |
5 | + | 덧셈 연산자 (이항 연산자) |
- | 뺄셈 연산자 (이항 연산자) | |
6 | << | 비트 왼쪽 시프트 연산자 |
>> | 부호 비트를 확장하면서 비트 오른쪽 시프트 | |
>>> | 부호 비트까지 모두 비트 오른쪽 시프트 | |
7 | < | 관계 연산자(보다 작은) |
<= | 관계 연산자(보다 작거나 같은) | |
> | 관계 연산자(보다 큰) | |
>= | 관계 연산자(보다 크거나 같은) | |
instanceof | 인스턴스의 실제 타입 반환 | |
8 | == | 관계 연산자(와 같은) |
!= | 관계 연산자(와 같지 않은) | |
9 | & | 비트 AND 연산자 |
10 | ^ | 비트 XOR 연산자 |
11 | | | 비트 OR 연산자 |
12 | && | 논리 AND 연산자 |
13 | || | 논리 OR 연산자 |
14 | ? : | 삼항 조건 연산자 |
15 | = | 대입 연산자 및 복합 대입 연산자 (=, +=, -=, *=, /=, %=, <<=, >>=, >>>=, &=, ^=, |=) |
출처: TCPSCHOOL.com, 12) 산술연산자, 2023.05.18 확인
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
참조
남궁성, <Java의 정석: 최신 Java 8.0 포함 - 3rd Editon>, 도우출판, pp 86~91, 130~132
TCPSCHOOL.com, 12) 산술연산자, 2023.05.18 확인
'Java' 카테고리의 다른 글
ArrayList와 LinkedList (자바 컬렉션 프레임워크) (0) | 2023.05.27 |
---|---|
배열의 특징 (0) | 2023.05.24 |
연산자2: 연산자의 활용 (0) | 2023.05.22 |