본문 바로가기
언어(Language)/Java

[Java] 연산자들(대입, 부호, 산술, 복합, 대입, 증감연산자)

by 올리브영 2023. 2. 24.
728x90
반응형

항과 연산자


  • 항(operand) : 연산에 사용되는 값
  • 연산자(operator) : 항을 이용하여 연산하는 기호

 

연산자의 종류 및 우선순위


우선순위 연산자
1 일차식 (), []
2 단항 !, ++, --
3 산술 %, /, *
4 산술 +, -
5 비트 이동 <<, >>
6 관계 <, >, <=, >=
7 관계 ==, !=
8 비트 곱 &
9 비트 차 ^
10 비트 합 |
11 논리 곱 &&
12 논리 합 ||
13 조건 ? :
14 대입 =, +=, -=, *=, %=, /=

 

증감 연산자


  • 증감연산자는 피연산자의 값을 1씩 증가 또는 감소시키는 연산자이다. 증감 연산자가 변수 앞에 위치하느냐 변수 뒤에 위치하느냐에 따라 결과 값이 달라진다.
연산자 기능 연산 예
++ 항의 값에 1을 더해준다. val = ++num; // 먼저 num 값이 1 증가한 후 val 변수에 대입
val = num++; // val 변수에 기존 num 값을 먼저 대입한 후 num 값 1 증가
-- 항의 값에서 1을 빼준다. val = --num; // 먼저 num 값이 1 감소한 후 val 변수에 대입
val = num--; // val 변수에 기존 num 값을 먼저 대입한 후 num 값 1 감소

 

산술 연산자


연산자 기능 연산 예
+ 두 항을 더해준다. 5 + 3
- 앞에 있는 항에서 뒤에 있는 항을 빼준다. 5 - 3
* 두 항을 곱합니다. 5 * 3
/ 앞에 있는 항에서 뒤에 있는 항을 나누어 몫을 구합니다. 5 / 3
% 앞에 있는 항에서 뒤에 있는 항을 나누어 나머지를 구합니다. 5 % 3

 

시프트(Shift) 연산자


  • 시프트 연산자는 bit단위의 연산처리를 하며 자료의 가공을 위해 오른쪽 또는 왼쪽으로 이동하여 값에 대한 변화를 일으키는 연산자입니다.
연산자 기능 연산 예
>> bit값을 오른쪽으로 이동 (빈 자리는 부호값으로 대입) 한다. int x = 64;
int n = 2;
x >> n; // 나눗셈, (x / 2^n)
<< bit값을 왼쪽으로 이동 (빈 자리는 0으로 대입) 한다. int x = 64;
int n = 2;
x << n; // 곱셈, (x * 2^n)

 

비교 연산자


  • 변수나 상수의 값을 비교할 때 쓰이는 연산자로서 결과가 항상 true 또는 false인 논리값(boolean)이어야 한다.
연산자 기능 연산 예
> 크다 int a = 3;
int b = 4;
a > b // false
< 작다 int a = 3;
int b = 4;
a < b // true
>= 크거나 같다 int a = 3;
int b = 4;
a >= b // false
4 >= b // true
<= 작거나 같다 int a = 3;
int b = 4;
a <= b // true
4 >= b // true
== 피연산자들의 값이 같다 int a = 3;
int b = 4;
a == b; // false
a == 3; // true
!= 피연산자들의 값이 같지 않다 int a = 3
int b = 4
a != b; // true
a != 3; // false

 

비트 연산자


  • 피연산자 즉 연산의 대상이 되는 값들을 내부적으로 bit단위로 변경한 후 연산을 수행하는 연산자이다.
연산자 기능
~ 비트의 반전(1의 보수
& 비트 단위 AND
| 비트 단위 OR
^ 비트 단위 XOR
x y x | y x & y x ^ y
0 0 0 0 0
0 1 1 0 1
1 0 1 0 1
1 1 1 1 0

 

논리 연산자


  • 논리 연산자는 피연산자의 값이 true나 false인 논리 값을 가지고 다시 한번 조건 연산하는 연산자이다. 
연산자 기능 연산예
&&(논리 곱) 두 항이 모두 참인 경우에만 결과 값이 참이다. 그렇지 않은 경우는 거짓이다. booleanval = (5>3) && (5>2);
||(논리 합) 두 항 중 하나의 항만 참이면 결과 값은 참이다. 두 항이 모두 거짓이면 결과 값은 거짓이다. booleanval = (5>3) || (5<2);
!(부정) 단항 연산자이다. 참인 경우는 거짓으로 바꾸고, 거짓인 경우 참으로 바꾼다. booleanval = !(5>3)

 

조건 연산자


  • 삼항 연산자
  • 조건식의 결과가 true인 경우와 false인 경우에 따라 다른 결과가 수행됨
  • if(조건문)을 간단히 사용할 수 있음.
연산자 기능 연산예
조건식 ? 결과1 : 결과2; 조건식이 참이면 결과1, 조건식이 거짓이면 결과2가 선택된다. int num = (5 > 3) ? 10 : 20; // 10

 

 

728x90
반응형