삼항 연산자는 다음과 같이 자바 연산자 중 유일하게 3개의 피연산자가 있는 연산자다.
삼항 연산자의 구성>
(참 또는 거짓) ? 참일 때 연산 결과 : 거짓일 때 연산 결과
물음표(?) 앞에는 불리언 자료형인 참(true) 또는 거짓(false)만 올 수 잇으므로 불리언 자료형이 직접 올 수 있지만, 주로 연산 결과가 불리언 자료형인 논리 연산자와 비교 연산자가 위치한다. 이 값이 참일 때는 콜론(:)의 앞쪽, 거짓일 때는 뒤쪽이 연산 결과가 된다.
삼항 연산자의 간단한 예
int a = (true) ? 1 : 2; // ?앞에 true가 왔으므로 a = 1
System.out.println(a); // 1
int b = (a % 2 ==) ? 10 : 20; // a%2 == 1이므로 b = 20
System.out.println(b); //20
+)삼항 연산자와 if 선택 제어문 사이의 변환
삼항 연산자는 4장에서 배울 if 선택 제어문으로도 변환할 수 있다. 아직 제어문을 배우기 전이긴 하지만 구조가 직관적이므로 여기서는 우선 눈으로 익혀두기만 하자.
💬삼항 연산자를 이용한 표현
int a = 3;
int b = (a > 5) ? 10 : 20;
System.out.println(b); // 20
💬if 선택 제어문을 이용한 동일한 표현
int a = 3;
int b;
if(a > 5) {
b = 10;
} else {
b = 20;
}
System.out.println(b); // 20
//삼항 연산자
int value1 = (3 > 5) ? 6 : 9;
System.out.println(value1);
int value2 = (5 > 3) ? 10 : 20;
System.out.println(value2);
int value3 = 3;
System.out.println((value3 % 2 == 0) ? "짝수" : "홀수");
//cf if-else 구문으로 변환
if(value3 % 2 == 0) {
System.out.println("짝수");}
else {
System.out.println("홀수");}
결과