티스토리 뷰
삼항 연산자 개념
또는 조건에 따라 피연산자가 선택됩니다. 그래서 '조건 연산자'라고 부르기도 합니다.
이 연산자는 ? 기호와 : 기호를 사용합니다.
삼항 연산자 사용법
이 연산자는 3 개의 피연산자를 필요로 합니다.
첫 번째 피연산자는 조건에 관한 것이고 두 번째 ,세 번째 피연산자에는 연산식 또는 값이 오게 됩니다. 아래 예제를 봅시다.
(a>b) ? a : b
첫 번째 피연산자인 (a>b)가 참이면 a가 선택되고 거짓이면 b가 선택됩니다.
즉 , 첫 번째 피연산자 true이면 두 번째 피연산자가 결과 값이 되는 것이고 false면 세 번째 피연산자가 결과 값이 됩니다.
다른 예제를 봅시다.
int number = 97 ;
char result = (number > 90) ? 'A' : 'B' ;
number > 90 이라는 삼항 연산자의 조건을 만족하므로 실행 결과는 'A'가 산출 됩니다.
위 예제는 if~else문을 이용하여 아래처럼 작성할 수 있습니다.
int number = 97 ;
char result ;
if ( number >90)
{
result = 'A' ;
}
else
{
result = 'B' ;
}
그러나 , if문을 이용하여 위 예제와 같은 방식의 프로그램 작성은 비효율적 입니다.
삼항 연산자를 이용하여 1줄로 작성하는 것이 코드 가독성도 좋고 효율도 우수합니다.
또 응용 예제를 봅시다.
1.public class Example
2.{
3. public static void main(String[ ] args) {
4. int score = 87;
5. char result = (score > 90) ? 'A' : ( (score > 80) ? 'B' : 'C' );
6. System.out.println(score + "점은 " + result + "등급이네요.");
7. }
8.}
실행 결과는 다음과 같습니다.
87점은 B등급 이네요
위 예제는 5행에서 이중으로 삼항 연산자를 사용하고 있습니다. 첫 번째 삼항 연산자의 세 번째 피연산자로 (score > 80) ? 'B' : 'C' 라는 두 번째 삼항 연산자를 위치 시키고 있습니다.
두번 째 삼항 연산자의 결과 값이 'B' 입니다.
따라서 첫 번째 삼항연사자 식은 (score > 90) ? 'A' : 'B' 가 됩니다.
결국 실행 결과는 B등급이 산출 되게 됩니다.