연산자
Updated:
강의 사이트
http://tcpschool.com/
연산자
- 기본 연산자는 생략
1. 비트 연산자
비트 연산자 | 설명 |
---|---|
& | 대응되는 비트가 모두 1이면 1을 반환함. (비트 AND 연산) |
| | 대응되는 비트 중에서 하나라도 1이면 1을 반환함. (비트 OR 연산) |
^ | 대응되는 비트가 서로 다르면 1을 반환함. (비트 XOR 연산) |
~ | 비트를 1이면 0으로, 0이면 1로 반전시킴. (비트 NOT 연산, 1의 보수) |
« | 명시된 수만큼 비트들을 전부 왼쪽으로 이동시킴. (left shift 연산) |
» | 부호를 유지하면서 지정한 수만큼 비트를 전부 오른쪽으로 이동시킴. (right shift 연산) |
»> | 지정한 수만큼 비트를 전부 오른쪽으로 이동시키며, 새로운 비트는 전부 0이 됨. |
int num1 = 8;
int num2 = -8;
System.out.println("~ 연산자에 의한 결과 : "+ ~num1);
//~ 연산자에 의한 결과 : -9
System.out.println("<< 연산자에 의한 결과 : "+ (num1 << 2));
//<< 연산자에 의한 결과 : 32
System.out.println(">> 연산자에 의한 결과 : "+ (num2 >> 2));
//>> 연산자에 의한 결과 : -2
System.out.println(">>> 연산자에 의한 결과 : "+ (num1 >>> 2));
//>>> 연산자에 의한 결과 : 2
System.out.println(">>> 연산자에 의한 결과 : "+ (num2 >>> 2));
//>>> 연산자에 의한 결과 : 1073741822
기타 연산자
1. instanceof 연산자
- instanceof 연산자는 참조 변수가 참조하고 있는 인스턴스의 실제 타입을 반환
- 해당 객체가 어떤 클래스나 인터페이스로부터 생성되었는지를 판별해 주는 역할
인스턴스이름 instanceof 클래스또는인터페이스이름
- instanceof 연산자는 왼쪽 피연산자인 인스턴스가 오른쪽 피연산자인 클래스나 인터페이스로부터 생성되었으면 true를 반환하고, 그렇지 않으면 false를 반환
class A {}
class B extends A {}
public static void main(String[] args) {
A a = new A();
B b = new B();
System.out.println(a instanceof A); // true
System.out.println(b instanceof A); // true
System.out.println(a instanceof B); // false
System.out.println(b instanceof B); // true
}