본문 바로가기

프로그램 공부/Java

Java 연산자

- 피연산자 개수에 따른 연산자 구분

① 단항 연산자

: 피연산자가 하나 존재 (+x, -x, -x)

ex) +5, -3, !8

 

② 이항 연산자

: 피연산자가 두개 존재 (x=y, x<y, x!=y)

ex) x = 10

 

③ 삼항 연산자

:피연산자가 세개 존재 (조건식 : true?false) → 피연산자 : 조건식, true, false

 

- 대입 연산자 : =

: 오른쪽 값을 왼쪽에 대입한다.

int x = 10;
int y = 20;

//x에 y의 값을 대입한다.
x = y;

//x값은 20.

 

- 산술 연산자 : +, -, *, /, %

: 우리가 하는 산수와 같다.

int x = 20;
int y = 9;

int Num; //산술한 값을 넣는 변수

// +
Num = x + y;	//29 (20 + 9)

// -
Num = x - y;	//11 (20 - 9)

// *
Num = x * y;	//180 (20 * 9)

// /
Num = x / y;	//2	(20 / 9의 몫)

// %
Num = x % y;	//2 (20 / 9의 나머지)

- 복합 대입연산자 : +=, -=, *=, /=, %=

: 산술 연산자와 대입 연산자를 결합한 연산자

int x;

x = 10;
// += : 더하고 대입
x += 5;	//x값 : 15

x = 10;
// -= : 빼고 대입
x -= 5;	//x값 : 5

x = 10;
// *= : 곱하고 대입
x *= 5;	//x값 : 50

x = 10;
// /= : 나눈 몫을 대입
x /= 5;	//x값 : 2

x = 10;
// %= : 나눈 나머지를 대입
x %= 5;	//x값 : 0

 

- 관계 연산자 : >, <, >=, <=, ==, !=

: 두개의 피연산자를 비교하여 참, 거짓을 도출하는 연산자

관계 연산자 예시 true인 결과
> a > b a가 b보다 크다.
< a < b a는 b보다 작다.
>= a >= b a는 b보다 크거나 같다.
<= a <= b a는 b보다 작거나 같다.
== a == b a와 b는 같다.
!= a != b a와 b는 같지 않다.

 

- 증감 연산자 : ++, --

: 1만큼 증가하거나 감소한다.

int x = 5;

int a = ++x;
int b = --x;
//a값 : 6, b값 : 4
//연산을 먼저 하고 값이 대입됨

int c = x++;
int d = x--;
//c값 : 5, d값 : 5
//값이 먼저 대입 된후 x의 값이 연산된다.

등감 연산자는 피연산자의 어디에 붙어 있느냐에 따라 출력 되는 것이 달라진다.

- 논리 연산자 : AND, OR, NOT

: 피연산자의 논리곱(AND), 논리합(OR), 논리부정(NOT)을 수행한다.

논리 연산자 예시 내용
논리곱 (AND) : && a && b a값과 b의 값이 모두 true면 true
논리합 (OR) : || a || b a값과 b값 중 하나만 true이어도 true
논리부정 (NOT) : ! !a a의 상태를 부정 (a가 true이면 false, false이면 true)

 

- 조건(삼항) 연산자

: 두개의 피연산자의 연산 결과에 따라서 나머지 피연산자의 값이 결정됨

조건식 ? 식1(true) : 식2(false)
//조건식이 true면 식1이 대입되고, false면 식2가 대입된다.

int x = 10;
int y = 20;
int result;

result = (x > y) ? 100 : 200;
//result 값 : 200

 

- 비트 연산자 : &, |, ^

: 데이터를 비트단위로 환산하여 연산을 수행하며, 다른 연산자보다 연산속도가 향상된다.

다만 실감이 올 정도로 속도가 빨라지지않아 잘 사용하지 않는다.

비트 연산자 예시 내용
& : AND 연산 a & b a와 b가 모두 1이면 1
| : OR 연산 a | b a와 b 중 하나라도 1이면 1
^ : XOR 연산 a ^ b a와 b가 같지 않으면 1

ex) x = 2, y = 3

※ 10진수 → 2진수

x = 2 0 0 0 0 0 0 1 0
y = 3 0 0 0 0 0 0 1 1
& 0 0 0 0 0 0 1 0
| 0 0 0 0 0 0 1 1
^ 0 0 0 0 0 0 0 1

└ 결과 값

x & y = 2

x | y = 3

x ^ y = 1

'프로그램 공부 > Java' 카테고리의 다른 글

Java 기존 파일 가져오기  (0) 2024.01.06
Java 배열  (0) 2024.01.06
Java 특수문자 & 서식문자  (0) 2024.01.05
Java 변수 써보기  (0) 2024.01.05
Java 환경변수(Path) 설정하기  (1) 2024.01.01