3주차 - 목차
1. 산술 연산자
2. 비트 연산자
3. 관계 연산자
4. 논리 연산자
5. instance of
6. assignment(=) operator
7. 화살표 (->) 연산자
8. 3항 연산자
9. 연산자 우선 순위
10. (Java13) switch 연산자
1. 산술 연산자
연산자 |
설명 |
+ |
덧셈연산자 |
- |
뺄셈연산자 |
* |
곱셈연산자 |
/ |
나눗셈의 몫을 구하는 연산자 |
% |
나눗셈의 나머지를 구하는 연산자 |
2. 비트 연산자
연산자 |
설명 |
& |
비트 단위로 AND 연산 |
| |
비트 단위로 OR 연산 |
^ |
비트 단위로 XOR 연산 |
~ |
비트 단위로 NOT 연산 |
<< |
피연산자의 비트 열의 왼쪽으로 이동 (빈 공간은 0) |
>> |
피연산자의 비트 열의 오른쪽으로 이동 (빈 공간이 음수일 경우 1, 양수일 경우 0) |
>>> |
피연산자의 비트열의 오른쪽으로 이동 (빈 공간은 0) |
3. 관계 연산자
연산자 |
설명 |
x > y |
x가 y보다 클 때 true, 아니면 false |
x < y |
x가 y보다 작을 때 true, 아니면 false |
x >= y |
x가 y보다 크거나 같을 때 true, 아니면 false |
x <= y |
x가 y보다 작거나 같을 때 true, 아니면 false |
x == y |
x와 y가 같을 때 true, 아니면 false |
x != y |
x와 y가 다를 때 true, 아니면 false |
4. 논리 연산자
연산자 |
설명 |
x && y |
x,y 모두 참일 때 true, 아니면 false |
x || y |
x,y 중 최소 한개 이상 참이면 true, 아니면 false |
! |
true 는 false 로, false는 true로 변경 |
5. instance of
변수에 대입된 객체의 타입이 실제로 무엇인지를 판정하는 방법으로 instanceof 연산자를 사용할 수 있다.
즉, 연산자 instanceof 는 참조변수가 참조하는 인스턴스의 '클래스'나 참조하는 인스턴스가 '상속하는 클래스'를 묻는 연산자이다.
6. assignment(=) operator
할당 연산자 혹은 대입 연산자라고 불리며, 값을 대입하거나 대입과 함께 연산을 실시하기 위한 연산자다.
7. 화살표(->) 연산자
람다 표현식은 메소드를 하나의 식으로 표현한 것으로,
(매개변수) -> { 함수 구현 } 의 기본 문법으로 기술한다.
불필요한 코드를 줄이고 가독성이 좋아지는 효과를 보인다.
8. 3항 연산자
2개의 식 중 어느 것을 이용할 것인지 판정하기 위한 연산자다.
9. 연산자 우선 순위
우선순위 |
연산자 |
내용 |
1 |
(), [] |
괄호/대괄호 |
2 |
!,~,++,-- |
부정/증감연산자 |
3 |
*,/,% |
곱셈/나눗셈 연산자 |
4 |
+, - |
덧셈/ 뺄셈 연산자 |
5 |
<<, >>, >>> |
비트 단위의 시프트 연산자 |
6 |
<, <=, >, >= |
관계 연산자 |
7 |
==, != |
|
8 |
& |
비트 단위의 논리 연산자 |
9 |
^ |
|
10 |
| |
|
11 |
&& |
논리곱 연산자 |
12 |
|| |
논리합 연산자 |
13 |
? : |
조건 연산자 |
14 |
+, +=, -=, /= 등 |
대입/할당 연산자 |
10. (java13) switch 연산자
변수의 값(또는 식의 계산 결과)에 따라 처리를 나누는 제어 구문이다.
변수의 값과 일치하는 case 값이(값1, 값2..) 있다면 해당 case문 하위의 문장이 실행된다.
case문마다 break를 작성할 수 있는데 해당 case문을 실행한 뒤 switch문을 빠져나가기 위한 것이다.
아무 값도 일치하지 않으면 default에 작성된 구문을 실행하고 default는 생략이 가능하다.
'IT > Java' 카테고리의 다른 글
[JAVA 스터디][4주차-2] JUnit5 정의와 테스트 코드 예시 (0) | 2020.12.11 |
---|---|
[JAVA 스터디][4주차-1] 제어문, 조건문, 반복문 (0) | 2020.12.11 |
[JAVA 스터디][2주차_2] 변수 선언 및 초기화, 배열, 타입변환, 캐스팅, 타입추론 정리 (0) | 2020.11.21 |
[JAVA 스터디][2주차_1] primitive, reference 타입, 리터럴, 상수 정리 (0) | 2020.11.21 |
[JAVA 스터디][1주차_2] javac 컴파일 및 실행, JIT컴파일러 정리 (0) | 2020.11.16 |