🎯 목표
자바가 제공하는 다양한 연산자를 학습하세요.
🖋 학습할 것
산술 연산자비트 연산자관계 연산자논리 연산자instanceofassignment(=) operator화살표(->) 연산자3항 연산자연산자 우선 순위(optional) Java 13. switch 연산자
☘️ 연산자 : 연산에 사용되는 기호
피연산자 : 연산에 대한 대상
1. 산술 연산자
일반적으로 산술 연산은 덧셈, 뺄셈, 곱셈, 나눗셈의 사칙 연산을 뜻한다.
자바에서 산술 연산은 사칙연산과 나머지 연산을 포함한 다섯 가지 연산을 뜻한다.
산술 연산자 | 설명 |
+ | 더하기 |
- | 빼기 |
* | 곱하기 |
/ | 나누기 |
% | 나머지 |
예)
1+2=3
3-1=2
2*2=4
4/2=2
10%7=3
2. 비트 연산자
비트 연산은 1과 0을 가지고 이루어진다.
일반적으로 0이 거짓(false)을 상징하고, 그 외의 값은 true를 상징한다.
~은 단항 연산을 하며 부정(not)을 뜻한다. 1은 0으로, 0은 1로 변환한다.
&는 이항 연산자로 양쪽 항의 값이 모두 1인 경우 1을 반환한다.
|는 이항 연산자로 양쪽 항 중 하나라도 1이면 1을 반환한다.
^는 이항 연산자로 양쪽 항의 값이 서로 다를 때 1을 반환한다.
예)
3. 관계 연산자
관계 연산자는 연산자를 중심으로 양쪽의 값이 어떤 관계를 갖는지 확인하는 연산이다.
4. 논리 연산자
논리 연산자는 주어진 논리식을 판단하여 true, false를 반환하는 연산자이다.
비트 연산과 비슷하지만 피연산자가 boolean 타입의 논리 값이라는 것이다.
논리 연산자 | 설명 |
&& | 논리식이 모두 참이면 true (논리 AND 연산) |
|| | 논리식 중에 하나라도 참이면 true (논리 OR 연산) |
! | 논리식이 true이면 false, false이면 true (논리 NOT 연산) |
&와 &&의 차이는
&&는 첫 번째 조건이 참이 아니면 두 번째 조건은 확인하지 않는다.
&는 첫번째 조건이 참이 아니어도 두번째 조건을 확인한다.
|와 ||의 차이는
||는 첫번째 조건이 참이면 두번째 조건은 확인하지 않는다.
|는 첫번째 조건이 참이어도 두번째 조건을 확인한다.
5. instanceof
개체가 특정 클래스 인스턴스인지 판단하는 연산자이다.
맞으면 true, 틀리면 false를 반환한다.
A(변수명) instanceof B(클래스명)
A가 B의 타입 혹은 하위 구현체인지 판단한다.
(클래스에 대해 잘 몰라서 예시는 이해가 안 가 쓰지 않았다. 다음에 공부하고 추가해야겠다.)
6. assignment(=) operator
대입 또는 할당 연산자라고 부른다. 값을 초기화한다고 표현하기도 한다.
7. 화살표(->) 연산자
자바 8에서 도입된 함수형 프로그래밍 표현이다.
간결한 코드를 작성할 수 있고 가독성이 향상되지만 재사용이 불가능하고 디버깅이 어렵다.
(파라미터) -> {Body}
예)
8. 3항 연산자
피연산자가 3개인 연산자이다.
{조건} ? {참일 경우 실행} : {거짓일 경우 실행}
예)
int a = 1;
int b = (a>0) ? 2 : 3; // 출력 값 : 2
9. 연산자 우선 순위
수학에서처럼 모든 연산에는 우선순위가 있다.
10. (optional) Java 13. switch 연산자
몇 가지 추가된 사항들이 있다.
1) : 대신 -> 를 사용할 수 있다.
2) yield 기능을 이용해 값을 리턴할 수 있다.
(switch문 다시 한번 공부해야겠다.)
github.com/whiteship/live-study/issues/3
'develop' 카테고리의 다른 글
BufferedReader, BufferedWriter (0) | 2021.02.26 |
---|---|
2주차 과제: 자바 데이터 타입, 변수 그리고 배열 (0) | 2021.02.24 |
1주차 과제: JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가. (0) | 2021.02.21 |
[java] What is 'split' ? (0) | 2021.02.12 |
[java] What is 'substring' ? (0) | 2021.02.11 |