반응형
1. 조건 연산자 (? :)
조건 연산자는 조건식과 식1, 식2, 모두 세개의 피연산자를 필요로 하는 삼항 연산자이다.
조건식 ? 식1 : 식2
// 조건식이 참인 경우에는 식1을 거짓인 경우에는 식2를 결과로 반환한다.
다음 예제를 확인해보자.
int x = 10;
String result = 0 < x ? "x is larger than zero" : "x is not larger than zero";
System.out.println(result);
// x is larger than zero
int y = -10;
result = 0 < y ? " y is larger than zero" : "y is not larger than zero";
System.out.println(result);
// y is not larger than zero
2. 대입 연산자 (=, op=)
대입 연산자는 변수와 같은 저장공간에 값 또는 수식의 연산결과를 저장하는데 사용한다. 이 연산자는 우측 피연산자를 좌측 피연산자에 저장한다. 그리고 저장된 값을 결과로 반환한다.
System.out.println(x = 3);
// 3
- lvalue와 rvalue
대입 연산자의 좌측 피연산자를 lvalue, 우측 피연산자를 rvalue 라고 한다. rvalue는 변수뿐만 아니라 식이나 상수 등이 모두 가능한 반면 lvalue는 반드시 변수처럼 값을 변경할 수 있는 타입이어야 한다. 그렇기 때문에 리터럴이나 상수는 lvalue에 위치하지 못한다.
- 복합 대입 연산자
대입 연산자는 다른 연산자(operator)와 결합하여 사용이 가능하다.
op= | = |
x += 3; | x = x + 3; |
x -= 3; | x = x - 3; |
x *= 3; | x = x * 3; |
x /= 3; | x = x / 3; |
x %= 3; | x = x % 3; |
x <<= 3; | x = x << 3; |
x >>= 3; | x = x >> 3; |
x &= 3; | x = x & 3; |
x |= 3; | x = x | 3; |
x ^= 3; | x = x ^ 3; |
반응형