본문 바로가기
Language/Java

[Java] 삼항연산자를 중첩하여 If문을 대체하기

Writer mintparc 2019. 10. 6.

삼항연산자


삼항 연산자는 조건식을 가지고 반환할 피연산자를 선택하는 동작을 하기 때문에 조건 연산자라고도 부른다. 이름에서 알 수 있듯 조건식의 결과에 따라 값을 반환하기 때문에, if문과 비슷한 역할을 수행할 수 있다. 이번 글에서는 삼항연산자를 중첩 사용해서 if문을 대체하는 연습을 해보겠다.

 

 

삼항연산자의 사용


(조건식)? 참 : 거짓;
int a = 20;
int b = 10;

System.out.println((a > b)? "a가 b보다 크다." : "b가 a보다 크다.");

// "a가 b보다 크다." 출력

삼항연산자의 기본적인 사용 방법이다. 조건식이 참일 때는 참에 해당하는 값을 반환하고, 거짓일때는 거짓에 해당하는 값을 반환한다. 

 

 

만약에


상단의 예시에서 우리는 "a가 b보다 크다.", "b가 a보다 크다." 두 조건 말고도 다른 조건을 포함시키고 싶어졌다고 하자. 예를 들어 "a는 b와 같다."라는 조건을 추가하고 싶다고 할 때 if문을 사용할 수 있다.

int a = 10;
int b = 10;
		
if(a > b) {
	System.out.println("a는 b보다 크다.");
} else if (a < b) {
	System.out.println("b는 a보다 크다.");
} else {
	System.out.println("a와 b는 같다.");
}

이와 같이 if문을 사용할 수도 있지만, 삼항연산자를 중첩해서 같은 결과가 나오도록 할 수도 있다.

 

 

삼항연산자 중첩 사용


(조건식) ? 참 : (조건식) ? 참 : 거짓 
int a = 10;
int b = 10;

System.out.println((a > b) ? "a는 b보다 크다" : (a < b) ? "b는 a보다 크다" : "a와 b는 같다.");

삼항연산자를 중첩해서 사용하면 if문을 대체할 수 있다.

댓글