- 산술 연산자
- 비트 연산자
- 관계 연산자
- 논리 연산자
- instanceof
- 대입연산자
- 화살표(->) 연산자
- 3항 연산자
- 연산자 우선 순위
- switch 연산자
int A = 1;
int b = 3;
// 연산
int C = A + B;
연산 👉 프로그앰에서 데이터를 처리한 결과를 산출하는 것
연산자 👉 연산을 수행하기 위해서 사용되는 문자 (+, -) 등
피연산자 👉 연산의 대상이 되는 데이터 위 연산에서 👉 A
종류 | 설명 |
---|---|
- | 뺄셈 |
* | 곱셈 |
/ | 나눗셈 |
% | 나머지 |
기본적인 사칙연산
피연산자의 수는 이항
, 결과 값은 숫자
로 반환
종류 | 설명 |
---|---|
& | AND |
| | OR |
^ | XOR |
~ | NOT |
<< | 피연산자의 비트 열을 좌측으로 이동 후 빈 공간은 0으로 채움 |
>> | 피연산자의 비트 열을 오른쪽으로 이동 후 빈 공간에 음수는 1, 양수는 0으로 채움 |
>>> | 피연산자의 비트 열을 오른쪽으로 이동 후 빈공간은 0으로 채움 |
피연산자의 수는 ~
연산자를 제외한 나머지는 이항
종류 | 설명 |
---|---|
> | 크다 |
>= | 크거나 같다 |
< | 작다 |
<= | 작거나 같다 |
== | 같다 |
!= | 같지않다 |
피연산자의 수는 이항
결과 값은 Boolean
값으로 반환
종류 | 설명 |
---|---|
&& | AND |
|| | OR |
! | NOT |
피연산자의 수는 !
연산자만 단항 결과값은 Boolean
값으로 반환
&, |
도 사용할 수 있는데
int A = 2;
if(A > 0 && A > 1){
System.out.println("참");
}
if(A > 0 & A > 1){
System.out.println("참");
}
다른 점은 &
의 경우 첫번째 조건이 참이면 다른 조건을 검사하고 첫번째 조건이 참이 아니라면 다른 조건은 검사하지 않음
|
의 경우 첫번째 조건이 참이라면 그대로 참을 반환하고 다른 조건을 검사하지 않음
객체의 타입
을 확인하는데 사용함 이항연산자이며 결과값은 Boolean
보통 형변환이 가능한지 확인할 때 사용한다고 한다.
보자마자 아 이거 상속관련해서 사용하겠는데? 라고 생각했다,,
종류 | 설명 |
---|---|
= | 대입 |
+= | 더한 후 대입 |
-= | 뺀 후 대입 |
*= | 곱한 후 대입 |
/ | 몫을 구한 후 대입 |
% | 나머지를 구한 후 대입 |
피연산자는 이항이며 최종적으로 우변의 값을 좌변의 대입해 줌
Java 8에서 추가된 람다 표현식, 함수형 프로그래밍으로 표현
화살표 연산자를 통해서 익명 클래스를 표현할 수 있음
람다식은 메서드가 매개변수로 전달되는 것과 결과로 반환되는 것이 가능
(무지성 람다식을 사용할 경우 코드 가독성이 떨어진다고 합니다,,)
new Thread(() ->{
System.out.println("람다식");
}).start();
(조건) ? (true 경우 실행) : (false 경우 실행)
조건이 까다롭지 않을 경우 if문 보다 코드를 줄일 수 있음
그러다 조건이 많아지면 가독성이 안 좋음!!
말 그대로 피연산자를 삼항 받는다! 닉값👍
int a = 2;
int b = 1;
if (a > b){
System.out.println("참");
}
System.out.println(a > b ? "참" : "거짓");
순위 | 연산자 |
---|---|
1 | ( ), [ ] |
2 | !, ~ , ++, -- |
3 | *, /, % |
4 | +, - |
5 | <<, >>, >>> |
6 | <, <=, >, >= |
7 | ==, != |
8 | & |
9 | ^ |
10 | | |
11 | && |
12 | || |
13 | ? : (삼항연산자) |
14 | =, +=, -=, *=, /=, %=, <<=, >>=, &=, ^=, ~= |
Java 12에서 추가된 연산자
break를 사용하지 않아도 되고 return값이 존재해도 된다.
case -> A의 형식으로 사용 가능
yield 예약어로 반환값을 미리 지정해놓을 수 있음
int score = 100;
// 기존 switch문
switch(score){
case 100 :
System.out.println("만점");
break;
case 0 :
System.out.println("빵점");
break;
}
// 추가된 switch 연산자
switch(score){
case 100 -> System.out.println("만점");
case 0 -> System.out.println("빵점");
};