사칙연산과 나머지 연산
+, -, *, /, %값을 변수에 전달
=, +=, -=, *=, /=, %=피연산자를 1씩 증가 또는 감소시킴
++-- int n1 = 0;
n1 += 1 // n1 = 1
n1++; // n1 = 2
++n1; // n1 = 3
// 연산 순서 주의!
int n2 = n1++; // 대입 n2 = n1 == 3 -> 증가 n1 = 4
int n3 = ++n1; // 증가 후 대입 n3 = 1 + n1 == 5
값을 비교하여 논리값을 반환
==, !=, <, >, <=, >=논리값(true/false)을 조건 연산
&&||!조건 연산의 결과에 따라 참값 또는 거짓값을 반환
(조건식) ? 참값 : 거짓값 String s = (n1 < 5) ? "5보다 작음" : "5보다 크거나 같음";
두 피연산자를 비트 단위로 논리 연산
& -> 1 & 1일때만 1| -> 0 | 0 일때만 0^ -> 1 ^ 0 일때만 1~| x | y | ⇨ | x & y | x | y | x ^ y | ~ x |
|---|---|---|---|---|---|---|
| 0 | 1 | 0 | 1 | 1 | 1 | |
| 1 | 1 | 1 | 1 | 0 | 0 | |
| 0 | 1 | 0 | 1 | 1 | 1 | |
| 1 | 0 | 0 | 1 | 1 | 0 | |
| 5(10) | 14(10) | 4(10) | 15(10) | 11(10) | 10(10) |
int n = 0x5 & 0xe; // 16진수
System.out.println(n); // 10진수
System.out.printf("0x%x \n", n); // 16진수
피연산자를 비트 단위로 왼쪽 또는 오른쪽으로 이동
<< >>| 피연산자 | 0 | 0 | 1 | 1 | = | 3(10) |
|---|---|---|---|---|---|---|
| << 1 | 0 | 1 | 1 | 0 | 6(10) | |
| >> 1 | 0 | 0 | 0 | 1 | 1(10) |
<< 1 은 10진수에 곱하기 21 한 것과 같고,
>> 1 은 10진수에 나누기 21 한 것과 같다.