반응형
안드로이드 소스코드를 보면, 가끔씩 3항 연산자를 볼 수 있는데요.
오늘은 이 3항 연산자에 관해서 정리해보고자 합니다.
우선 공식을 보면 다음과 같은데요.
조건문 ? true일때의 값 : false일때의 값
자주 사용하지는 않기는 하지만 경우에 따라서는 가독성도 좋아지고 코드도 짧아져서 좋습니다.
실제 코드를 보면서 정리해 보겠습니다.
1. 쉬운 예
먼저 쉬운 예를 보도록 하겠습니다.
조건: 여기서 조건문은 i>9 이 true인지 false인지 를 묻고있습니다.
공식대로 보면 아래와 같은데요.
true이면: "참",
false이면: "거짓",
을 result에 넣으라는 것입니다.
2. 안드로이드 소스코드 예
이번에는 안드로이드 소스코드에서 실제 사례를 하나 뽑아서 보겠습니다.
getName()이라는 메소드를 사용하면 클래스의 이름을 가져올 수 있는데요.
이 getName의 소스를 보면, 3항 연산자를 사용하고 있습니다.
이제 아래의 소스 코드를 보겠습니다.
공식을 다시 한번 적용해 보면 아래와 같은데요.
조건: result == null
여기서 result는 name이니까, name이 null인지 아닌지가 조건문이 되구요.
true이면: name을 getNameNative()를 실행한 값으로 대입하고,
false이면, result를 그대로 return하라는 거군요.
이렇게 해서, 3항 연산자에 대해서 정리해 보았습니다.
필요할 때 자주 사용해보고, 익숙해져야 겠네요.
728x90
'Android 개발 > Java, Java8' 카테고리의 다른 글
Enum값에 대해서 알아보겠습니다 (0) | 2018.04.10 |
---|---|
정규 표현식 (Regular Expression) 과 응용 사례를 정리해 보자 (1) | 2017.09.07 |
Math 클래스 의 반올림, 올림, 버림 등 자주 사용하는 메소드 정리 #Java (0) | 2017.04.09 |
Matcher 클래스와 Pattern Class로 정규 표현식을 활용해보자 (0) | 2017.03.22 |
Java 배열 및 ArrayList 를 Comparable과 Comparator 를 이용해 정렬하기 (0) | 2017.03.19 |
Bit 논리 연산과 시프트 연산 의 정리 (0) | 2017.03.16 |
Java Wrapper 클래스 를 정리해 보자 (0) | 2017.03.07 |
Java Map인 HashMap, TreeMap, LinkedHashMap 에 대해서 정리해 보자. (0) | 2017.02.12 |
Java IO에서 InputStream, OutputStream, Reader, Writer (0) | 2017.01.07 |
JAVA Interface 안드로이드를 위한 자바 인터페이스 #다중상속 #콜백 (0) | 2016.12.21 |
댓글