Java/공부

6. 연산자

pakms980319 2024. 3. 5. 09:49

1. 산술 연산자

분류 연산자 설명
이항 연산자 + 두 수의 합을 구한다.
- 두 수의 차를 구한다.
* 두 수의 곱을 구한다.
/ 두 수를 나눈 몫을 구한다.
% 두 수를 나눈 나머지를 구한다.
+= 좌변과 우변을 더한 결과를 좌변에 대입한다.
-= 좌변에서 우변을 뺀 결과를 좌변에 대입한다.
%= 좌변에서 우변을 나눈 나머지를 좌변에 대입한다.
단항 연산자 ++ 변수 값을 1 증가시킨다.
-- 변수 값을 1 감소시킨다.

2. 관계 연산자

연산자 설명
> 왼쪽 항이 크면 참(true), 아니면 거짓(false)을 내준다.
< 오른쪽 항이 크면 참(true), 아니면 거짓(false)을 내준다.
>= 왼쪽 항이 크거나 같으면 참(true),. 아니면 거짓(false)를 내준다.
<= 오른쪽 항이 크거나 같으면 참(true), 아니면 거짓(false)를 내준다.
= 왼쪽과 오른쪽 항이 같으면 참(true), 아니면 거짓(false)를 내준다.
!= 왼쪽가 오른쪽 항이 다르면 참(true), 아니면 거짓(false)를 내준다.

3. 논리 연산자

연산자 설명
&& 두 항(왼쪽과 오른쪽)의 논리 값이 참(true)이면 참(true)을, 아니면 거짓(false)을 내준다.
|| 두 항의 논리값 중 하나 이상의 항이 참(true)이면 참(true)을, 아니면 거짓(false)을 내준다.
! 단항 연산을 하며, 연산되는 항이 참(true)이면 거짓(false)을, 거짓(false)이면 참(true)을 내준다.
[조건식] ? [true] : [false] 조건식 결과가 참(true)일 때 [true] 항을 수행하고, 아니면 [false] 항을 수행한다.

 

3-1) 삼항 연산자

  • if ~ then ~ else 를 간단한 방법으로 대체할 수 있는 유용한 연산자
  • 삼항 연산자의 문법은 `[조건식] ? [명령어 1] : [명령어 2]`로 구성된다. 조건식이 참(true)이면 명령어 1을 수행하고, 조건식이 거짓(false)이면 명령어 2를 수행하라는 의미이다.
int i = 3;
int result = (i > 2) ? i + 2 : i + 10;  // (i>2)가 참(true)이면 i + 2를, 거짓(false)이면 i + 10을 수행한다.

 


4. 비트 연산자

분류 연산자 설명
비트 논리 & 두 항의 비트가 모두 1이면 1, 아니면 0으로 연산한다.
| 두 항의 비트가 모두 0이면 0, 아니면 1로 연산한다.
^ 두 항의 비트가 서로 다르면 1, 같으면 0으로 연산한다.
비트 시프트 >> 왼쪽 피연산자를 오른쪽 값만큼 부호 비트로 채우면서 오른쪽으로 이동시킨다.
<< 왼쪽 피연산자를 오른쪽 값만큼 비트를 왼쪽으로 이동시킨다.
>>> 왼쪽 피연산자를 오른쪽 값만큼 부호 비트를 무시한 채 0으로 채우면서 오른쪽으로 이동시킨다.
비트 대입 &= 두 항의 비트가 모두 1이면 1, 아니면 0으로 연산하여 왼쪽 피연산자에 대입한다.
|= 두 항의 비트가 모두 0이면 0, 아니면 1로 연산하여 왼쪽 피연산자에 대입한다.
^= 두 항의 비트가 서로 다르면 1, 같으면 0으로 연산하여 왼쪽  피연산자에 대입한다.
>>= 왼쪽 피연산자를 오른쪽 값만큼 부호 비트로 채우면서 오른쪽으로 이동한 후 대입한다.
<<= 왼쪽 피연산자를 오른쪽 값만큼 비트를 왼쪽으로 이동한 후 대입한다.

 

4-1) 비트 논리 연산자

  • 비트의 논리 연산자인 &, |은 각각 산술 논리 연산자 &&, ||, 즉 AND 연산에 대응한다.
  • 논리 연산 과정에서 두 항의 데이터를 비트 단위로 수행한다.


5. 연산자 우선 순위

우선 순위 연산자
1 ., [], ()
2 !, ~, +/-, ++/--,(cast)
3 +, -, *, /, %
4 <<, >>, >>>
5 <, >, <=, >=, ==, !=
6 &, ^, |
7 &&, ||
8 [조건식] ? [true] : [false]
9 =, +=, -=, *=, /=, %=, <<=, >>=, ^=, &=, !=
10 ++/-- (후위형 증감 연산자)

'Java > 공부' 카테고리의 다른 글

8. 반복문  (0) 2024.03.05
7. 분기문  (0) 2024.03.05
05. 변수와 자료형  (0) 2024.03.04
04. 이클립스로 자바 프로젝트 생성  (0) 2024.03.04
3. 자바 프로그램 개발 절차  (0) 2024.03.02