해결된 질문
작성
·
36
답변 1
1
안녕하세요, else
는 선택사항입니다. 꼭 작성하지 않으셔도 됩니다.
if → else if로 끝나도 문법적으로 전혀 문제없습니다.
if로만 여러 개 해도 상관없습니다. 다만, 이 경우에는 분기하지 않고 모든 if를 체크합니다.
다만 모든 경우의 수를 처리하고 싶다면 마지막에 else(또는 추가 else if)를 달아 주는 것이 안전합니다.
아래에 여러 가지 패턴을 한꺼번에 보여 주는 짧은 예제를 준비했습니다.
각 블록이 “언제 실행되는지” 주석도 달았으니 비교해 보세요.
public class IfChainDemo {
public static void main(String[] args) {
int score = 75; // ← 다양한 값으로 바꿔 보세요
/* 1️⃣ if 단독 ------------------------------------------------*/
if (score > 90) {
System.out.println("[if-only] A 학점");
}
// 90 이하여도 오류 없음. 단지 아무 일도 안 일어남.
/* 2️⃣ if + else ---------------------------------------------*/
if (score >= 60) {
System.out.println("[if-else] 통과");
} else {
System.out.println("[if-else] 낙제");
}
/* 3️⃣ if + else if (끝에 else 없음) -------------------------*/
if (score >= 90) {
System.out.println("[if-elseIf] A 학점");
} else if (score >= 75) {
System.out.println("[if-elseIf] B 학점");
}
// 74 이하는 아무 문장도 실행되지 않음 (캡처 안 됨)
/* 4️⃣ if + else if* + else (권장 포맷) -----------------------*/
if (score >= 90) {
System.out.println("[full-chain] A 학점");
} else if (score >= 75) {
System.out.println("[full-chain] B 학점");
} else if (score >= 60) {
System.out.println("[full-chain] C 학점");
} else {
System.out.println("[full-chain] F 학점");
}
/* 5️⃣ 반복문 안에서의 사용 예 -------------------------------*/
System.out.println("\n--- for 루프 예시 ---");
for (int i = 0; i < 5; i++) {
if (i == 0) {
System.out.println("i = 0 → 첫 번째");
} else if (i % 2 == 0) {
System.out.println("i = " + i + " → 짝수");
} else {
System.out.println("i = " + i + " → 홀수");
}
}
}
}
추가 질문이 있으면 대댓글로 부탁드립니다.