연산(Operation)
이라 한다.연산자(Operator)
라고 한다.항은 연산을 할 때의 값을 의미하며, 연산자는 "연산을 수행하는 기호"를 의미한다.
1️⃣단항 연산자 : 항이 한 개
num++;
num--;
2️⃣이항 연산자 : 항이 두개
1 + 2;
3️⃣삼항 연산자 : 항이 세개
(3 > 1)? 1 : 0; //괄호() 안의 조건이 맞으면 왼쪽값을, 틀리면 오른쪽 값을 반환
1️⃣대입 연산자=
우측의 데이터를 좌측 변수에 대입하는 연산
int num = 100;
2️⃣부호 연산자+
,-
+ 10;
- 10;
1️⃣산술 연산자
덧셈+
, 뺄셈-
, 곱셈*
, 나눗셈/
, 나머지%
int a = 1 + 2;
int b = 3 - 2;
int c = 1 * 2;
int d = 4 / 2;
int e = 6 % 2;
2️⃣증가/감소 연산자
++
, 1만큼 줄임--
ex) num++, ++num, num--, --num
int numZ = 1;
System.out.println(numZ++); //1 출력
System.out.println(numZ); //2 출력
numZ = 1;
System.out.println(++numZ) //2 출력
System.out.println(numZ) //3 출력
>
, <
, !
, ==
true
, false
를 반환ex) 10 > 9 ; //false
5 != 3 ; //true
int numA = 10;
int numB = 9;
System.out.println(numA > numB); //true
System.out.println(numA < numB); //false
System.out.println(numA == numB); //false
System.out.println(numA != numB); //true
&&(and)
, ||(or)
, !(not)
true
, false
를 반환(10 > 9) && (1 == 0) //false
(10 > 9) || (1 == 0) //true
5 != 3 //true
대입 연산자와 다른 연산자를 조합한 연산 코드를 간결하게 작성할 때 사용
ex) num1 += num2; //num1 = num1 + num2; 와 동일
ex) num1 %= num2;
int numX = 10;
int numY = 5;
numX += numY;
System.out.println("numX = " + numX); //15 출력
비트 단위로 연산
<기본 연산자> <비트 연산자>
5 && 3 0101 & 0011
5 || 3 0101 | 0011
1️⃣AND 연산자&
두 개의 비트 값이 모두 1인 경우에만 결과 1
// 5 & 3
0101
0011
----
0001
2️⃣OR 연산자|
두 개의 비트 값 중 하나라도 1이면 결과 1
// 5 | 3
0101
0011
----
0111
3️⃣XOR 연산자^
두 개의 비트 값이 같으면 0, 다르면 1
// 5 ^ 3
0101
0011
----
0110
4️⃣반전 연산자~
비트 값이 0이면 1로, 1이면 0으로 반전
// ~ 5
0101
----
1010
1️⃣<<
연산자
비트를 왼쪽으로 이동
// 3 << 1
0011
----
0110
// 3 << 2
0011
----
1100
2️⃣>>
연산자
비트를 오른쪽으로 이동
// 3 >> 1
0011
----
0001
3️⃣>>>
연산자
비트를 오른쪽으로 이동(빈자리는 부호비트 상관없이 0으로 채움)