github.com/whiteship/live-study/issues/3
3주차 과제: 연산자 · Issue #3 · whiteship/live-study
목표 자바가 제공하는 다양한 연산자를 학습하세요. 학습할 것 산술 연산자 비트 연산자 관계 연산자 논리 연산자 instanceof assignment(=) operator 화살표(->) 연산자 3항 연산자 연산자 우선 순위 (option
github.com
백기선님이 진행하시는 Java 라이브 스터디 3주차 과제입니다.
1. 산술 연산자
int a = 10;
int b = 20;
int sum = a + b; // 덧셈
int sub = a - b; // 뺄셈
int mul = a * b; // 곱셈
int div = a / b; // 나눗셈
int rem = a % b; // 나머지연산
2. 비트연산자
int a = 4;
int b = 5;
int and = a & b; // 4(100) & 5(101) = 4(100)
int or = a | b; // 4(100) | 5(101) = 5(101)
int xor = a ^ b; // 4(100) ^ 5(101) = 1(001)
int not = ~a // ~4(100) -> -5
3. 관계연산자
int a = 10;
int b = 10;
a > b // false;
a < b // false;
a >= b // true;
a <= b // true;
a == b // true;
a != b // false;
4. 논리 연산자
boolean a = true;
boolean b = false;
if(a && b)
System.out.println("둘 다 참이어야 출력");
else if( a || b )
Sysetm.out.println("둘 중 하나만 참이면 출력");
else if( a && !b )
System.out.println("false였던 b를 ! 연산자로 true로 바꿔주면 && 성립, 출력!);
5. instanceof
class Parent{}
class Child extends Parent{}
Parent p = new Parent();
Child c = new Child();
if(p instanceof Parent) // 출력
System.out.println("p는 Parent클래스의 인스턴스");
if(c instanceof Child) // 출력
System.out.println("c는 Child클래스의 인스턴스");
if(p instanceof Child) // 출력안됨, p는 child클래스의 기능을 모두 담지 못하므로(부모클래스이므로) 인스턴스로 인식되지않는다.
System.out.println("p는 Child클래스의 인스턴스");
if(c instanceof Parent) // 출력
System.out.println("c는 Parent 클래스의 인스턴스");
6. assignment(=) 연산자
int a;
a = 10; // 그대로 할당
a += 20; // a와 오른쪽값의 합을 a에 할당, a = a + 20
a -= 20; // a와 오른쪽값의 차를 a에 할당, a = a - 20
a /= 2; // 밑도 쭉 같은 형식
a *= 2;
a %= 2;
a = 10;
a &= 2;
a |= 2;
a ^= 2;
a <<= 2;
a >>= 2;
7. 화살표(->) 연산자 == 람다 표현식
int min(int x, int y) {
return x < y ? x : y;
}
(x, y) -> x < y ? x : y;
// 출처 : http://www.tcpschool.com/java/java_lambda_concept
8. 3항 연산자
int a = 10;
int b = 20;
int max = a > b ? a : b;
// ? 기준 왼쪽의 조건식이 참이면 : 기준 왼쪽값 할당, 거짓이면, b할당
9. 연산자 우선순위
우선순위 | 연산자 | 내용 |
1 | [], () | 괄호 |
2 | ++, --, !, ~ | 증감, 부정 |
3 | *, /, % | 곱셈, 나눗셈, 나머지 |
4 | +, - | 덧셈, 뺄셈 |
5 | <<, >>, >>> | 쉬프트 |
6 | <, <=, >, >= | 관계 |
7 | ==, != | 관계 |
8 | & | 비트연산자 and |
9 | ^ | 비트연산자 xor |
10 | | | 비트연산자 or |
11 | && | 논리곱 |
12 | || | 논리합 |
13 | ? : | 삼항연산자 |
14 | =, +=, -=, /=, %=, <<=, >>=, &=, ^=, ~= | 할당연산자 |
10. Java 13. switch 연산자
mkyong.com/java/java-13-switch-expressions/
Java 13 - Switch Expressions - Mkyong.com
- Java 13 - Switch Expressions
mkyong.com
너무 잘 설명해주신 블로그 글이 있어 링크를 걸어둡니다!!
'Java' 카테고리의 다른 글
[Java] 상속 (0) | 2021.02.21 |
---|---|
[Java] 클래스 (0) | 2021.01.04 |
[Java] 제어문, Queue, Stack, LinkedList (0) | 2020.12.23 |
[Java] 자바 데이터 타입, 변수 그리고 배열 (0) | 2020.12.19 |
[Java] JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가. (0) | 2020.12.17 |