조건식 ?
식 1 :
식 2 의 형태로 작성함. 피연산자가 3개 오게 되므로 삼항 연산자라고도 부름.
조건식의 평가 결과가
true
이면 식 1을 실행
false
이면 식 2를 실행
다음과 같은 if
-else
문을 단축하는 형식임.
if (조건식) {
식 1
} else {
식 2
}
중첩이 가능하지만, 코드 가독성을 해치므로 권장되지는 않음
isLoggedIn ? "Welcome" : (hasAccount ? "Login" : "Join")
피연산자인 식 1과 식 2의 타입이 다른 경우, 산술 변환이 된 후 연산됨.
condition ? 0 : 1.3
// condition ? 0.0 : 1.3 (실제 연산 시)
위와 같은 케이스에서 condition
이 참이면 0 대신 double
로 형변환된 0.0이 반환됨.
대입 연산자 =
은 좌측 피연산자(변수명)로 이름 지어진 저장 공간에 우측 피연산자의 값을 대입하여 저장함.
가장 낮은 우선순위를 가짐 (= 가장 나중에 수행)
대입 연산자 =
와 다른 연산자(op)를 결합하여 op=
와 같은 형태로 사용 가능.
ex) +=
, -=
, *=
, /=
, <<=
, ^=
, &=
등
아래와 같은 식을
int num = 0;
num = num + 5;
복합 대입 연산자를 활용해 조금 더 간략하게 표현할 수 있음.
int num = 0;
num += 5;