삼항 연산자란?
삼항 연산자는 조건에 따라 두 개의 값 중 하나를 선택하는 연산자로, 조건 ? 참일 때 값 : 거짓일 때 값 형식으로 표현된다.
삼항 연산자의 기본 구조
조건식 ? 참일 때 반환할 값 : 거짓일 때 반환할 값;
이러한 구조를 가지며, if-else 문을 간결하게 표현할 수 있다.
삼항 연산자의 특징
- 조건문을 간결하게 표현할 수 있다
- 변수 할당과 함께 사용 가능하다
- 중첩해서 사용 가능하지만 가독성이 떨어질 수 있다
예제 코드
C 언어에서 삼항 연산자 사용
#include <stdio.h>
int main() {
int a = 10, b = 20;
int max = (a > b) ? a : b;
printf("더 큰 값은 %d이다.\n", max);
return 0;
}
결과:
a = 10, b = 20
아래쪽 계산을 보면 a > 10
a = 10 이므로 이 전제 조건은 = 거짓
참일 때 결과값은 a , 거짓일때 결과값은 b로 표현하므로
값은 20이 할당 된다.
더 큰 값은 20이다.
Java에서 삼항 연산자 사용
public class TernaryExample {
public static void main(String[] args) {
int num = -5;
String result = (num >= 0) ? "양수" : "음수";
System.out.println("결과: " + result);
}
}
결과:
결과: 음수
Python에서 삼항 연산자 사용
Python에서는 if-else 문을 한 줄로 줄여서 사용할 수 있다.
num = 10
result = "짝수" if num % 2 == 0 else "홀수"
print(f"{num}은 {result}이다.")
결과:
10은 짝수이다.
삼항 연산자의 활용 예제
입력값이 양수, 0, 음수인지 판별하는 코드 (중첩 사용)
int number = -10;
String result = (number > 0) ? "양수" : (number == 0) ? "0" : "음수";
System.out.println("결과: " + result);
결과:
결과: 음수
삼항 연산자 문제 예제 및 풀이
다음 Java 프로그램 실행 결과는?
public class ovr {
public static void main(String[] args) {
int a = 1, b = 2, c = 3, d = 4;
int mx, mn;
mx = a < b ? b : a;
if (mx == 1) {
mn = a > mx ? b : a;
} else {
mn = b < mx ? d : c;
}
System.out.println(mn);
}
}
풀이 과정
- a = 1, b = 2, c = 3, d = 4 로 할당.
- mx = a < b ? b : a; 에 의해 mx = 2 가 된다.
- if (mx == 1) 조건은 false 이므로 else 블록으로 간다.
- mn = b < mx ? d : c; 에 의해 mn = 3 이 된다.
- 결과적으로 System.out.println(mn); 은 3 을 출력한다.
결과:
3
삼항 연산자의 장점과 단점
✅ 장점
- if-else 문을 간단한 조건에서는 줄여서 표현 가능 → 코드 가독성 향상
- 변수 할당 시 유용 (예: int max = (a > b) ? a : b;)
❌ 단점
- 조건이 많아지면 가독성이 떨어진다 (중첩 사용 주의 필요)
- 복잡한 조건문에는 if-else 문이 더 적합할 수 있다
결론
삼항 연산자는 간결한 조건문을 작성하는 데 유용하지만, 가독성을 해치지 않는 선에서 적절히 활용하는 것이 중요함.
단순한 조건 처리에는 유용하지만, 여러 조건을 포함하는 경우 if-else 문이 더 적절할 수 있다.
'STUDY(개인 기록) > 자격증' 카테고리의 다른 글
| 정렬 알고리즘(정보처리기사) (0) | 2025.02.24 |
|---|---|
| 소프트웨어 공학 (정보처리기사) (0) | 2023.03.29 |