Java

[Java-19] 삼항 연산자 기본 (원리) ?:

lee-maru 2020. 11. 27. 14:31

Java The conditional operator

 

 조건부 삼항 연산자 ? :



조건 연산자 ‘?:’는  C언어에서 상속 받은 뭔가 애매한 3항 연산자 이다. 이 3항 연산자는 어떠한 연산식 안에서 이 삼항 연산자를 이용해 조건을 달 수 있게 해준다. 조금만 생각해보면. “ 아 수식 안에서 if문을 사용하는구나?” 라고 생각 할 수 있다.

다음 코드를 보자 첫번째 피연산자 i 와  x , 그리고 연산자 > 는 물음표 ?를 기준으로 나누어 지게 된다. 그리고 물음표 이후 : (콜론) 기준으로 또 다시 나누어지게 된다. 

 

먼저 조건부 연산 ( > ) 을 먼저 수행하게 됩니다. 

 

그리고 만약 첫번 째로 수행한 i > x 가 true 이면 

다음 과 같이 i 를 반환하게 된다. 

 

만약 False 값이 들어가게 되면 x를 반환하게 된다. 

 

사실 ?: 는 우선순위가 제일 낮게 잡혀 있으므로 따로 괄호 ( ) 를 붙일 필요는 없지만, 많은 개발자 분들이 가독성과 유지보수를 위하여, 보통 이렇게 관리를 하고 있다. : D