학습할것
- 산술 연산자
- 비트 연산자
- 관계 연산자
- 논리 연산자
- instanceof
- assignment(=) operator
- 화살표(->) 연산자
- 3항 연산자
- 연산자 우선 순위
- java 13. switch 연산자
산술 연산자 (Arithmetic operator)
- 수학적 계산에 사용되는 연산자.
- 두 개의 피연산자를 가지는 이항 연산자.
- 피연산자들의 결합 방향은 왼쪽에서 오른쪽.
| 산술 연산자 | 설명 | 산술 연산자 | 설명 |
|---|
| + | 더하기 | / | 나누기 |
| - | 빼기 | % | 나머지 |
| * | 곱하기 | | |
class Operator {
public void ArithmeticOperator(){
int a = 10, b = 7;
System.out.println(a + b);
System.out.println(a - b);
System.out.println(a * b);
System.out.println(a / b);
System.out.println(a % b);
}
}
단항 연산자 (Unary Operator)
| 단항 연산자 | 설명 | 산술 연산자 | 설명 |
|---|
| + | 양수 | ++ | 1 증가 |
| - | 음수 | -- | 1 감소 |
| ! | 반대(논리 연산자) | | |
public void UnaryOperator(){
int result = +1;
System.out.println(result);
result++;
System.out.println(result);
result--;
System.out.println(result);
result = -result;
System.out.println(result);
boolean flag = false;
System.out.println(flag);
System.out.println(!flag);
}
비트 연산자 (Bitwise Operator)
- 비트(bit) 단위로 논리 연산을 할 때 사용하는 연산자.
- 원형(순환) 시프트(Integer.rotateRight(a, k))의 연산은 내부적으로 (a > > > k) | (a < < (Integer.SIZE - k))와 같다.
| 비트 연산자 | 설명 |
|---|
| & (AND) | 대응되는 비트가 모두 1이면 1을 반환 |
| | (OR) | 대응되는 비트 중에서 하나라도 1이면 1을 반환 |
| ^ (XOR) | 대응되는 비트가 서로 다르면 1을 반환 |
| ~ (NOT) | 비트를 1이면 0, 0이면 1로 반전 |
| < < (Left shift) | 명시된 수만큼 비트들을 모두 왼쪽으로 이동 |
| > > (Right shift) | 부호를 유지하고 지정된 수만큼 모두 오른쪽으로 이동 |
| > > > (Unsigned Right shift) | 명시된 수만큼 비트들을 모두 오른쪽으로 이동, 새로운 비트는 0으로 채움 |
| Integer.rotateRight(a, k) or Integer.rotateLeft(i, distance) | 명시된 수만큼 비트들을 오른쪽/왼쪽으로 이동시키고, 떨어져나간 비트들을 채워지는 비트 위치에 둔다 |
public void BitwiseOperator(){
int result = ~(-13);
System.out.println(result);
System.out.println(result & 7);
System.out.println(result | 7);
System.out.println(result ^ 7);
System.out.println(result << 2);
System.out.println(result >> 3);
System.out.println(~result >> 3);
System.out.println(~result >>> 3);
System.out.println(Integer.rotateRight(result,3));
}
관계 연산자 (Relational Operator) & 비교 연산자 (Comparison Operator)
| 관계 연산자 | 설명 |
|---|
| == | 같으면 true |
| != | 다르면 true |
| > | 왼쪽이 크면 true |
| >= | 왼쪽이 더 크거나 같으면 true |
| < | 오른쪽이 크면 true |
| <= | 오른쪽이 더 크거나 같으면 true |
논리 연산자 (Logical operator)
| 논리 연산자 | 설명 |
|---|
| && (AND) | 논리식이 모두 참이면 true |
| || | 논리식 중에 하나라도 참이면 true |
| ! | 논리식이 true이면 false, flase이면 true |
instanceof
=> 여기서부터 다시 작성하기.
참조