제목은 자바의 삼항연산자라고 적었지만.


이 삼항연산자는 언어 불문하고 자주 쓰이는 코드다.


삼항연산자를 쓰는 이유는 딱 하나이다. 어렵지 않은 알고리즘의 다수줄의 코드를


가독성 좋게 한 두줄로 바꿔줄 수 있기 때문이다.


아래의 예시를 보자.



if(a>b){
		result = 111;
	}else{
		result = 222;
	}


어렵지 않은 코드이다. a가 클시 result에는 111이 들어가고 b가 클시, result에는 222가 들어간다.


문제가 뭐냐면... 귀찮다 분명 어렵지 않은 알고리즘이지만, 


다른 코드들이랑 쓰다보면 눈에 안들어 올 것이다.


위코드를 아래와 같이 바꿀 수 있다.



result = (a>b)?111:222;


이런식으로 쓴다. result의 값은 위 위의 코드와 동일하게 들어간다. 


변수 = (참이나 거짓이나오는 부울린) ? (참일경우 들어가는 값 ) : (거짓일 경우 들어가는 값);


위의 경우는 int형 변수 result를 썻지만. 좀더 응용하면 여러 변수들을 상황에 맞게 쓸 수 있다.


예를들어, 자바의 JFrame 에서 visible을 컨트롤 한다고 생각해보자.



frame.setVisble((frame.isVisible())?false:true);



이해가 가는가? 삼항연산자의 리턴값을 변수에 넣지 않고 바로 setVisible안에 넣은것이다.


따라서 저 코드는 visible 이 트루 일때는 frame을 안보이게하고. 


visible이 거짓 일때는 frame 을 다시보이게 하는 코드라 할 수 있겠다.




 

 

'Java' 카테고리의 다른 글

JAVA Static이란?  (2) 2016.03.29
자바 enum 열거형  (0) 2016.01.27
JAVA - 익명클래스(Anonymous class)란?  (3) 2016.01.20
JAVA의 생성자 (2)  (2) 2015.11.17
JAVA의 생성자 (1)  (0) 2015.11.12

포스팅이 도움 되셨다면, 커피 한잔 후원해주세요!
더 좋은 포스팅 작성에 큰 힘이 됩니다.

Buy me a coffeeBuy me a coffee

+ Recent posts