Java Operator
연산자
개수에 따른 연산자
- 단항 연산자: 피연산자가 1개인 연산자
- 이항 연산자: 피연산자가 2개인 연산자
- 삼항 연산자: 피연산자가 3개인 연산자
연산자 처리 순서
- (), []
- 단항 연산자: ++, –, +, -,(type), !, ~
- 산술 연산자: %, /, *, +, -
- 시프트 연산자: », «, »>
- 관계 연산자: <, <=, >, !=
논리 연산자: &, ^, , ~ ,&&, - 삼항 연산자, ? :
- 대입 연산자: =, +=, /=
- 콤마 연산자: ,
연산자
- 최우선 연산자
- () : 우선순위 변경을 위해 사용
- []: 배열의 크기나 첨자를 나타낼 때 사용
- 단항(Unary) 연산자
- ~ : 1의 보수
- ! : Not
- +, - : 부호 반전
- 능감 연산자: ++, –
- 산술 연산자: 이항 연산자이며 피연산자의 크기가 4byte보다 작으면 4byte로 변환한 다음에 연산을 수행
- shift 연산자
- 정수형 데이터에서만 사용가능 2진수 shift를 함
- 2의 n승으로 나누고 곱한것 과 같음
- 관계 연산자
- 이항 연산자로 피연산자의 크기를 비교하는 연산자
- 연산의 결과는 boolean
- 삼항 연산자
- 조건식 ? 식1 : 식2
- 대입 연산자
- 변수 값 또는 수식의 연산 결과를 저장하는데 사용
instanceof
참조 변수가 참조하고 있는 인스턴스의 실제 타입을 알아보는 연산자
- instanceof를 이용한 연산결과로 true를 얻었다는 것은 참조변수가 검사한 타입으로 형변환이 가능하다는 것
arrow 연산자
익명함수를 간단하게 만들 수 있는 연산자
- 익명함수의 타입은 익명함수의 매개변수의 개수나 return 타입에 의해 정해짐
switch
switch 문을 간단하게 작성하기 위해 break를 yield로 대체
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int value = switch (greeting) {
case "hi" -> {
System.out.println("I am not just yielding!");
yield 1;
}
case "hello" -> {
System.out.println("Me too.");
yield 2;
}
default -> {
System.out.println("OK");
yield -1;
}
};