안드로이드 개발 질문/답변
(글 수 45,052)
boolean visibility = true;
visibility = visibility ? false:true;
if(visibility){
Log.e("click_up","upup");
}else{
Log.e("click_down","down");
}
위에 의미는 무슨 의미인가요......해석좀 부탁드려요.. 특히..visibility = visibility ? false:true; 이부분이용.ㅠ.ㅠ
2012.01.05 17:49:51
visibility = visibility ? false:true;
이건 자바 기본문법에 있는 3항 연산문법입니다.
값 = 식 ? 변수1 : 변수2
이런식일경우 의미하는 바는 식에대한 true/false에 따라 값을 변수1(true), 변수2(false)로 할당할수 있습니다.
식에는 반드시 boolean 형으로 결과가 나오는 것만 사용될수 있습니다. 질문하신 소스처럼 아예 boolean 형 변수를 넣어도 돼는것이죠.
질문하신 소스는 true일경우엔 false로 false일 경우엔 true로 변경하는 소스입니다.




첫번째 줄에 visibility가 true 입니다.
다음줄에서 visiblity 가 true 이니까 최종 visibility는 false 가 됩니다.
if 문에서 visibility가 false 이니까
Log.e("click_down","down"); 이 실행됩니다.