?:
연산자를 사용할 수 있다. ?:
연산자를 사용하면 if
문과 비교해서 코드를 단순화할 수 있다.(조건) ? 참_표현식 : 거짓_표현식
public class CondOp1 {
public static void main(String[] args) {
int age = 18;
String status;
if (age >= 18) {
status = "성인";
} else {
status = "미성년자";
}
System.out.println("age = " + age + " status = " + status);
}
}
age = 18 status = 성인
age = 15 status = 미성년자
나중에 헷갈릴 것을 대비해서 삼항연산자를 사용하면 없애도 되는 코드를 주석으로 처리해놓았다.
public class CondOp2 {
public static void main(String[] args) {
int age = 18;
String status = (age >= 18) ? "성인" : "미성년자";
// 이 부분을 모두 날릴 수 있음
/* if (age >= 18) {
status = "성인";
} else {
status = "미성년자";
}*/
System.out.println("age = " + age + " status = " + status);
}
}
빨강색 네모 박스로 표시한 부분처럼 항이 3개이기 때문에 삼항 연산자라고 부름
(age >= 18)이 참 ?
이면 "성인", 거짓 :
이면 "미성년자"