본문 바로가기

프로그래밍언어

[JAVA] 연산자 - 기타 연산자

반응형

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;
반응형