3.2.7 삼항 연산자

jh·2022년 1월 11일
0

Do it! 자바 완전 정복

목록 보기
20/70

삼항 연산자는 다음과 같이 자바 연산자 중 유일하게 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("홀수");}

결과

profile
코딩 공부 중...

0개의 댓글