티스토리 뷰

BackEnd/JAVA

[Ch.03] 1. 연산자

JINSUKUKU 2021. 2. 28. 17:49

📌 연산자(Operator)

연산을 수행하는 기호를 말한다. 사칙 연산자뿐만 아니라 다양한 연산자가 존재한다.

 

1. 연산자와 피 연산자

✔ 연산자 : 연산을 수행하는 기호 (+, -, *, / 등)

✔ 피연산자 : 연산을 수행하기 위해서는 반드시 연산의 대상이 있어야 하는데, 이를 피연산자로 한다.

✔ 연산자는 피 연산자로 연산을 수행하고, 항상 결과를 반환한다.

 

2. 식과 대입 연산자

✔ 연산자와 피 연산자를 조합해 계산하고자 하는 바를 표현한 것이 식.

✔ 그리고 식을 통해 결과를 얻은 것을 '식을 평가한다'라고 한다

✔ 하나의 식을 평가(계산)한다면 단 하나의 결과를 얻는다.

✔ 적당한 식을 프로그램에 평가하려면 식의 끝에 ';'을 붙여서 문장으로 만들자

 

x = 5 + 5 ;
→  y = x * 4 ; 
→  y = 25 * 4 ;  
→  y = 100

✔ 식을 평가해 값을 얻어 어떤 공간에 저장하지 않으면 값이 사라지므로, 변수와 대입 연산자를 사용해 저장할 수 있다.

✔ 식을 평가해 얻은 값을 변수에 저장하면 다른 연산에 사용할 수 있다.

 

3. 연산자의 종류

종류 연산자 설명
산술 연산자 +   -   *   /   %   <<   >> 더하기, 빼기, 곱하기, 나누기, 나머지, 비트 이동 연산자
비교 연산자 >   <   >=   <=   ==   != 크고 작음과 같고 다름을 비교하는 연산자
논리 연산자 &&   ||   !   &   |   ^   ~ 그리고(and), 또는(or) 등 으로 조건을 연결하는 연산자
대입 연산자 = 우항의 값을 좌항에 대입
조건 연산자 조건 ? A : B  조건이 참일 때, A 반환 거짓일 때, B 반환
형변환 연산자 (타입) 변수 형변환(casting) 연산자를 사용해 타입바꿀 수 있다.
instanceof 연산자 객체 instanceof 클래스 객체가 어떤 클래스나 인터페이스로부터 생성되었는지 판별

 

4. 피연산자의 개수에 의한 연산자의 분류

✔  피연산자의 개수로도 연산자를 분류하기도 한다.

✔  피연산자의 개수가 하나라면 '단항 연산자', 두 개라면 '이항 연산자', 세 개라면 '삼항 연산자'라고 말한다.

✔  삼항 연산자는 오직 조건 연산자에 사용되는? 뿐이다.

 

-3 - 5

✔  같은 형태의 연산자여도 기능이 다를 수 있는데, 이때에는 피연산자의 개수로 구분이 가능하다.

✔  부호 연산자는 단항 연산자로 피연산자가 3 한 개.

✔  산술 연산자인 뺄셈 연산자는 피연산자가 -3과 5 두 개다. 

 

5. 연산자의 우선순위와 결합 규칙

✔  하나의 식에 여러 개의 연산자가 사용될 수 있다. 어떤 연산자를 먼저 연산하느냐에 따라 결과가 다르다.

✔  이때 연산자의 우선순위에 의해 연산 순서가 결정된다. 연산자의 우선순위는 아래와 같다.

 

우선 순위 연산자 설명 우선 순위 연산자 설명
1 ( ) 괄호 8 & 비트 AND 연산자
2 ! ~ ++ -- 부정, 증감 연산자 9 ^ 비트 XOR 연산자 
3 * / % 곱셈, 나눗셈 연산자 10 | 비트 OR 연산자
4 + - 덧셈, 뺄셈 연산자 11 && 논리 연산자
5 << >> >>> 비트 이동 연산자 12 || 논리 연산자
6 < <= > >= 비교 연산자 13 ? : 조건 연산자
7 == != 비교 연산자 14 = += 등..  대입 연산자

✔  일반적으로 단항 연산자가 이항 연산자보다 우선순위가 높다.

✔  모두 암기할 필요는 없고, 필요할 때 확인하자.

✔  연산자의 우선순위가 같은 경우 연산자의 결합 규칙에 의해 순서가 결정된다. 아래와 같다.

 

      1.  산술 > 비교 > 논리 > 대입  :  대입은 항상 마지막에 수행된다
      2.  단항 > 이항 > 삼항  :  단항 연산자의 우선순위가 이항, 삼항보다 높다
      3.  단항 연산자와 대입 연산자를 제외한 모든 연산자의 진행방향은 왼쪽에서 오른쪽이다

 

6. 산술 변환

✔  이항 연산자를 사용해 연산을 할 때에는 두 개의 피연산자의 타입이 일치해야 한다.

✔  이렇게 자동 형 변환되는 것을 산술 변환 또는 일반 산술 변환이라고 한다.

✔  산술 변환에는 두 가지 규칙이 존재한다.

 

long + int = long
float + int = float

✔  작은 타입으로 변환하면 원래의 값이 손실될 수 있기 때문에 더 큰 범위의 타입으로 일치시킨다. (자동 형 변환)

 

byte + short = int
char + short = int

✔  정수형의 기본 타입인 int가 가장 효율적으로 처리할 수 있는 타입이기 때문에

✔  int보다 작은 타입인 경우 int로 자동 형 변환한다.

✔  위와 같이 서로 다른 타입의 연산은 가능하지만, 의도하지 않은 타입으로 연산될 수 있으니

✔  형 변환을 통해 원하는 타입으로 일치시켜주고 연산하자.

 

 

 

 

[참고] 자바의 정석

'BackEnd > JAVA' 카테고리의 다른 글

[Ch.03] 3. 산술 연산자  (0) 2021.02.28
[Ch.03] 2. 단항 연산자  (0) 2021.02.28
[Ch.02] 형식화 출력 함수 printf() / 형변환  (1) 2021.02.20
[Ch.02] 상수와 리터럴  (0) 2021.02.20
[Ch.02] 자료형-기본형, 참조형  (0) 2021.02.20
댓글
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
최근에 올라온 글
글 보관함
Total
Today
Yesterday