-
3주차 과제: 연산자JAVA 기본 2021. 2. 2. 02:39728x90
목표
자바가 제공하는 다양한 연산자를 학습하세요.
학습할 것
- 산술 연산자
- 비트 연산자
- 관계 연산자
- 논리 연산자
- 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키워드를 이용해서 리턴하게 변경되었다.
'JAVA 기본' 카테고리의 다른 글
6주차 과제: 상속 #6 (0) 2021.02.23 5주차 과제: 클래스 #5 (0) 2021.02.22 4주차 과제: 제어문 (0) 2021.02.02 JAVA학습 2주차 (2021.01.21) (0) 2021.01.22 JAVA학습 1주차 (2021.01.21) (0) 2021.01.21