삼항연산자란
if조건문과 유사한 기능을 하는 연산자로, 코드를 간결하게 표현할 수 있다는 장점이 있음
그러나 복잡한 로직 속에서는 오히려 가독성을 해칠 수 있으므로 유의해야함.
자바 삼항연산자 구조
조건문이 참일 경우 표현식1이 실행되고, 거짓일 경우 표현식2가 실행된다.
사용 예시
[프로그래머스 문제]
자연수 n이 입력으로 주어졌을 때 만약 n이 짝수이면 "n is even"을, 홀수이면 "n is odd"를 출력하는 코드를 작성
<모범 답안> - 삼항연산자 사용
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.print(n + " is "+(n % 2 == 0 ? "even" : "odd"));
}
}
<내 답안> - IF문 사용
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
if (n%2 == 0) {
System.out.printf("%d is even", n);
} else if (n%2 == 1) {
System.out.printf("%d is odd", n);
}
}
}
IF문으로 길게 써야하는 내용을 삼항연산자를 통해 한줄로 표현할 수 있다!