JAVA 기본
3주차 과제: 연산자
홍박스
2021. 2. 2. 02:39
728x90
목표
자바가 제공하는 다양한 연산자를 학습하세요.
학습할 것
- 산술 연산자
- 비트 연산자
- 관계 연산자
- 논리 연산자
- instanceof
- assignment(=) operator
- 화살표(->) 연산자
- 3항 연산자
- 연산자 우선 순위
- (optional) Java 13. switch 연산자
산술 연산자
+ 왼쪽의 피연산자(수)에 오른쪽 피연산자를 더하기
- 왼쪽의 피연산자(수)에 오른쪽 피연산자를 빼기
* 왼쪽의 피연산자(수)에 오른쪽 피연산자를 곱하기
/ 왼쪽의 피연산자(수)에 오른쪽 피연산자를 나누기
% 왼쪽의 피연산자(수)에 오른쪽 피연산자를 나눈 후 나머지
연산자 우선순위
사친연산이랑 같음
비트 연산자
& | 비트 AND 연산자 | |
| | 비트 OR 연산자 | |
^ | 비트 XOR 연산자 | |
~ | 비트 NOT 연산,1의 보수 |
논리 연산자
A | B | A&B |
1 | 1 | 1 |
1 | 0 | 0 |
0 | 1 | 0 |
0 | 0 | 0 |
A | B | A|B |
1 | 1 | 1 |
1 | 0 | 1 |
0 | 1 | 1 |
0 | 0 | 0 |
A | B | A^B |
1 | 1 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
0 | 0 | 0 |
A | ~A |
1 | 0 |
0 | 1 |
관계 연산자
== | 같다 |
!= | 다르다 |
> | 왼이 큼 |
>= | 왼이 크거나 같음 |
< | 오른이 큼 |
<= | 오른이 크거나 같음 |
instanceof | 객체가 어떤 클래스나 인터페이스로 부터 생성되었는지 판별하는 역활 |
NAME instanceof classNAME |
assignment(=) operator
(대입연산자)
= | 왼쪽의 피연산자에 오른쪽의 피연산자를 대입함. |
+= | 왼쪽의 피연산자에 오른쪽의 피연산자를 더한 후, 그 결괏값을 왼쪽의 피연산자에 대입함. |
-= | 왼쪽의 피연산자에서 오른쪽의 피연산자를 뺀 후, 그 결괏값을 왼쪽의 피연산자에 대입함. |
*= | 왼쪽의 피연산자에 오른쪽의 피연산자를 곱한 후, 그 결괏값을 왼쪽의 피연산자에 대입함. |
/= | 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 결괏값을 왼쪽의 피연산자에 대입함. |
%= | 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 나머지를 왼쪽의 피연산자에 대입함. |
&= | 왼쪽의 피연산자를 오른쪽의 피연산자와 비트 AND 연산한 후, 그 결괏값을 왼쪽의 피연산자에 대입함. |
|= | 왼쪽의 피연산자를 오른쪽의 피연산자와 비트 OR 연산한 후, 그 결괏값을 왼쪽의 피연산자에 대입함. |
^= | 왼쪽의 피연산자를 오른쪽의 피연산자와 비트 XOR 연산한 후, 그 결괏값을 왼쪽의 피연산자에 대입함. |
<<= |
왼쪽의 피연산자를 오른쪽의 피연산자만큼 왼쪽 시프트한 후, 그 결괏값을 왼쪽의 피연산자에 대입함. |
>>= | 왼쪽의 피연산자를 오른쪽의 피연산자만큼 부호를 유지하며 오른쪽 시프트한 후, 그 결괏값을 왼쪽의 피연산자에 대입함. |
>>>= | 왼쪽의 피연산자를 오른쪽의 피연산자만큼 부호에 상관없이 오른쪽 시프트한 후, 그 결괏값을 왼쪽의 피연산자에 대입함. |
화살표 연산자
처음봄ㄷㄷ
JAVA8 부터 도입된 연산자로 람다 표현식이라고 하며 메소드 본문에 해당 실행 가능한 자바 코드의 익명 컬렉션이라고 함
자세한 내용은 람다를 공부하면서 작성할 예정이기 때문에 지금은 람다는 이쁜 익명 메소드라고 생각해도 좋다라고한다
결론 좀 더 간결하게 만들려고 만든거
나중에 다시 하자
삼항 연산자
문법:
조건식 ? 반환값1: 반환값2
무음표 앞 조건식에 따라 결과값이 참이면 1 거짓이면2 반환함
EX)
int a = 5 int b =6
int r;
r = a-b>0? a:b
r은 앞에 식이 거짓이므로 b, 즉 6이다
(optional) Java 13. switch 연산자
자바13부터 추가된 연산자로
일반적인 switch문에서는 break로 리턴을 시켜줬지만,
자바13부터는 yield키워드를 이용해서 리턴하게 변경되었다.
728x90