연산자

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
}

Tags:

Categories:

Updated: