Unicorns
All the things
All the things
산술 연산자 | 설명 |
---|---|
+ | 왼쪽의 피연산자에 오른쪽의 피연산자를 더함. |
- | 왼쪽의 피연산자에서 오른쪽의 피연산자를 뺌. |
* | 왼쪽의 피연산자에 오른쪽의 피연산자를 곱합. |
/ | 왼쪽의 피연산자를 오른쪽의 피연산자로 나눔. |
% | 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후 , 그 나머지를 반환함. |
비트 연산자 | 설명 |
---|---|
& | 대응되는 비트가 모두 1이면 1을 반환함. (비트 AND 연산) |
| | 대응되는 비트 중에서 하나라도 1이면 1을 반환함(비트 OR 연산) |
^ | 대응되는 비트가 서로 다르면 1을 반환함(비트 XOR 연산) |
~ | 비트를 1이면 0으로, 0이면 1로 반전시킴.(비트 NOT 연산, 1의 보수) |
<< | 명시된 수만큼 비트들을 전부 왼쪽으로 이동시킴(left shift 연산) |
>> | 부호를 유지하면서 지정한 수만큼 비트를 전부 오른쪽으로 이동시킴.(right shift 연산) |
>>> | 지정한 수만큼 비트를 전부 오른쪽으로 이동시키며, 새로운 비트는 전부 0이 됨. |
비트 AND 연산자
비트 OR 연산자
비트 XOR 연산자
비트 NOT 연산자
비트 left shift 연산
비트 right shift 연산
unsigned right shift 연산
관계 연산자 | 설명 |
---|---|
== | 왼쪽의 피연산자와 오른쪽의 피연산자가 같으면 참을 반환함 |
!= | 왼쪽의 피연산자와 오른쪽의 피연산자가 같지 않으면 참을 반환함 |
> | 왼쪽의 피연산자가 오른쪽의 피연산자보다 크면 참을 반환함 |
>= | 왼쪽의 피연산자가 오른쪽의 피연산자보다 크거나 같으면 참을 반환함 |
< | 왼쪽의 피연산자가 오른쪽의 피연산자보다 작으면 참을 반환함 |
<= | 왼쪽의 피연산자가 오른쪽의 피연산자보다 작거나 같으면 참을 반환함 |
논리 연산자 | 설명 |
---|---|
&& | 논리식이 모두 참이면 참을 반환한다. (논리 AND 연산) |
|| | 논리식 중에서 하나라도 참이면 참을 반환함 (논리 OR 연산) |
! | 논리식의 결과가 참이면 거짓을, 거짓이면 참을 반환함 (논리 NOT 연산) |
A 와 B의 논리 연산 결과
A | B | A && B | A || B | !A |
---|---|---|---|---|
true | true | true | true | false |
true | false | false | true | false |
false | true | false | true | true |
false | false | false | false | true |
(object) instanceof (type)
public class Student extends Person {
}
public static void main(String[] args) {
Student student = new Student();
System.out.println(student instanceof Student); // true
}
Person 클래스를 상속 받은 Student
public static void main(String[] args) {
Student student = new Student();
System.out.println(student instanceof Person); // true
}
Work 인터페이스를 구현한 Student 클래스
public class Student extends Person implements Work {
}
public static void main(String[] args) {
Student student = new Student();
System.out.println(student instanceof Work); // true
}
public static void main(String[] args) {
Student student = new Student();
System.out.println(student instanceof Object); // true
}
public static void main(String[] args) {
Student student = new Student();
student = null;
System.out.println(student instanceof Student); //false
}
대입 연산자 | 설명 |
---|---|
= | 왼쪽의 피연산자에 오른쪽의 피연산자를 대입함. |
+= | 왼쪽의 피연산자에 오른쪽의 피연산자를 더한 후, 그 결괏값을 왼쪽의 피연산자에 대입함. |
-= | 왼쪽의 피연산자에서 오른쪽의 피연산자를 뺀 후, 그 결괏값을 왼쪽의 피연산자에 대입함. |
*= | 왼쪽의 피연산자에 오른쪽의 피연산자를 곱한 후, 그 결괏값을 왼쪽의 피연산자에 대입함. |
/= | 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 결괏값을 왼쪽의 피연산자에 대입함. |
%= | 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 나머지를 왼쪽의 피연산자에 대입함. |
&= | 왼쪽의 피연산자를 오른쪽의 피연산자와 비트 AND 연산한 후, 그 결괏값을 왼쪽의 피연산자에 대입함. |
|= | 왼쪽의 피연산자를 오른쪽의 피연산자와 비트 OR 연산한 후, 그 결괏값을 왼쪽의 피연산자에 대입함. |
^= | 왼쪽의 피연산자를 오른쪽의 피연산자와 비트 XOR 연산한 후, 그 결괏값을 왼쪽의 피연산자에 대입함. |
<<= | 왼쪽의 피연산자를 오른쪽의 피연산자만큼 왼쪽 시프트한 후, 그 결괏값을 왼쪽의 피연산자에 대입함. |
>>= | 왼쪽의 피연산자를 오른쪽의 피연산자만큼 부호를 유지하며 오른쪽 시프트한 후, 그 결괏값을 왼쪽의 피연산자에 대입함. |
>>>= | 왼쪽의 피연산자를 오른쪽의 피연산자만큼 부호에 상관없이 오른쪽 시프트한 후, 그 결괏값을 왼쪽의 피연산자에 대입함. |
REFERENCE
http://tcpschool.com/java/java_operator_bitwise
https://www.geeksforgeeks.org/bitwise-operators-in-java/
자바의 정석
[Java Study] - Garbage Collection(GC) in JVM (0) | 2021.09.26 |
---|---|
[Java Study] - LinkedList , Queue in Collection framework (0) | 2021.09.26 |
[Java Study] - 자바 데이터 타입, 변수 ,배열 (0) | 2021.09.22 |
[Java Study] - JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가. (2) | 2021.09.16 |
[Java] 문자열 앞뒤 공백 잘라내기- trim() (0) | 2021.05.14 |