자바 연산자
Created:
자바가 제공하는 다양한 연산자를 학습
산술 연산자
산술 연산자는 총 5개이며 boolean 타입을 제외한 모든 기본타입에 사용 가능하다.
연산자 | 설명 |
---|---|
+ | 덧셈연산 |
- | 뺄셈연산 |
* | 곱셉연산 |
/ | 좌측값을 우측값으로 나눗셈 연산 |
% | 좌측값을 우측값으로 나눈 나머지를 구하는 연산 |
비트 연산자
비트 연산자는 데이터를 비트 단위로 연산하며 정수 타입만 비트 연산을 할 수 있다.
비트 논리 연산자와 비트 이동 연산자로 구분된다.
비트 논리 연산자
구분 | 연산자 | 설명 |
---|---|---|
AND | & | 두 비트 모두 1일 경우에만 1 |
OR | | | 두 비트 중 하나만 1이면 1 |
XOR | ^ | 두 비트 중 하나는 1이고 다른 하나가 0일 경우 1 |
NOT | ~ | 보수 |
비트 이동 연산자
연산자 | 설명 |
---|---|
<< | 왼쪽 값의 각 비트를 오른쪽 값만큼 왼쪽으로 이동하고 빈자리는 0으로 채운다. |
>> | 왼쪽 값의 각 비트를 오른쪽 값만큼 오른쪽으로 이동하고 빈자리는 최상위 부호 비트로 채운다. |
>>> | 왼쪽 값의 각 비트를 오른쪽 값만큼 오른쪽으로 이동하고 빈자리는 0으로 채운다. |
관계 연산자
연산자 | 설명 |
---|---|
== | 두 값이 같은지 검사 |
!= | 두 값이 다른지 검사 |
> | 왼쪽값이 큰지를 검사 |
>= | 왼쪽값이 크거나 같은지 검사 |
< | 왼쪽값이 작은지 검사 |
<= | 왼쪽값이 작거나 같은지 검사 |
논리 연산자
구분 | 연산자 | 설명 |
---|---|---|
AND | && 또는 & | 양쪽 값 모두가 true일 경우에 true |
OR | || 또는 | | 양쪽 값 중 하나만 true이면 true |
XOR | ^ | 하나는 true고 다른 하나가 false경우에만 true |
NOT | ! | 값의 논리값을 바꿈 |
instanceof
instanceof 연산자를 사용해 어떤 객체가 어떤 클래스의 인스턴스인지 확인할 수 있다.
boolean result = parent instanceof Child // parent의 값이 Child 클래스의 인스턴스인지 여부를 반환한다.
assignment(=) operator
대입연산자는 오른쪽 값을 왼쪽 변수에 저장한다.
연산자 | 설명 |
---|---|
= | 오른쪽 값을 왼쪽 변수에 저장 |
+= | 오른쪽 값을 왼쪽 변수의 값과 더한후 다시 왼쪽 변수에 저장 |
-= | 오른쪽 값을 왼쪽 변수의 값에서 뺀후 다시 왼쪽 변수에 저장 |
*= | 오른쪽 값을 왼쪽 변수의 값과 곱한후 다시 왼쪽 변수에 저장 |
/= | 오른쪽 값을 왼쪽 변수의 값과 나눈후 다시 왼쪽 변수에 저장 |
%= | 오른쪽 값을 왼쪽 변수의 값과 나눈후에 나머지를 왼쪽변수에 저장 |
!= | 오른쪽 값과 왼쪽 변수의 값을 | 연산 후 왼쪽 변수에 저장 |
^= | 오른쪽 값과 왼쪽 변수의 값을 ^ 연산 후 왼쪽변수에 저장 |
<<= | 오른쪽 값과 왼쪽 변수의 값을 « 연산 후 왼쪽 변수에 저장 |
>>= | 오른쪽 값과 왼쪽 변수의 값을 » 연산 후 왼쪽 변수에 저장 |
>>>= | 오른쪽 값과 왼쪽 변수의 값을 »> 연산 후 왼쪽 변수에 저장 |
화살표(->) 연산자
화살표 연산자(람다식)를 사용하면 불필요한 코드를 줄일 수 있고 코드의 가독성이 좋아진다.
기존방식
Runnable run = new Runnable() {
public void run() { … }
}
람다식
Runnable run = () -> { … };
3항 연산자
삼항 연산자는 세 개의 피연산자를 필요로한다.
변수 = 조건식 ? 값 : 값
? 앞의 조건식이 true라면 : 앞에 값이 변수에 들어가고 false라면 : 뒤에 값이 변수에 들어간다.
연산자 우선 순위
우선순위는 증감, 부호, 비트, 논리가 가장 높고 대입이 가장 낮다.
연산자 | 연산방향 |
---|---|
증감(++, –), 부호(+, -), 비트(~), 논리(!) | <—- |
산술(*, /, %) | —-> |
산술(+,-) | —-> |
쉬프트(«, », »>) | —-> |
비교(<, >, <=, >=, instanceof) | —-> |
비교(==, !=) | —-> |
논리(&) | —-> |
논리(^) | —-> |
논리(|) | —-> |
논리(&&) | —-> |
논리(||) | —-> |
조건(?:) | —-> |
대입(=, +=, -=, *=, /=, %=, &=, ^=, |=, «=, »=, »>=) | —-> |
java 13. switch 연산자
- 기존의 switch문이 변경된것이 아니라 switch라는 연산자가 추가된 것이다.
- break는 더이상 사용할 수 없고 yield가 대신 사용된다.
- 화살표 연산자를 사용할수있다.
int result = switch (mode) {
case "a", "b":
yield 1;
case "c":
Yield 2;
case "d", "e", "f":
Yield 3;
default:
Yield -1;
}
Comments