Inflearn Community Q&A
12:40 printEven 자바 문제 if문
Resolved
Written on
·
40
0
저번에 반복문 설명하실때 if문은
if ~
(if가 아닐때)else if ~
(else if도 아닐때)else 로 끝마친다고 하셨는데,
else if로 끝내든 else로 끝내든 문법적으로는 상관이 없는 건가요??
java정보처리기사
Answer 1
1
weekendcode
Instructor
안녕하세요, 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 + " → 홀수");
}
}
}
}
추가 질문이 있으면 대댓글로 부탁드립니다.




