티스토리 뷰

IT/Java

삼항 연산자(조건 연산자)

오예봉봉 2020. 4. 21. 18:23


삼항 연산자 개념

피연산자가 일반적인 단항 연산, 이항 연산자와 달리 3개이므로 '삼항 연산자'라고 합니다.
또는 조건에 따라 피연산자가 선택됩니다. 그래서 '조건 연산자'라고 부르기도 합니다.
이 연산자는 ? 기호와 : 기호를 사용합니다.

삼항 연산자 사용법

이 연산자는 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등급이 산출 되게 됩니다.



'IT > Java' 카테고리의 다른 글

if~else문  (0) 2020.04.23
if문(자바 조건문)  (0) 2020.04.22
대입 연산자  (0) 2020.04.20
비트 연산자  (0) 2020.04.20
논리 연산자  (0) 2020.04.18