12:40 printEven 자바 문제 if문
저번에 반복문 설명하실때 if문은
if ~
(if가 아닐때)else if ~
(else if도 아닐때)else 로 끝마친다고 하셨는데,
else if로 끝내든 else로 끝내든 문법적으로는 상관이 없는 건가요??
답변 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 + " → 홀수");
}
}
}
}
추가 질문이 있으면 대댓글로 부탁드립니다.
26년2회 실기기출은 언제쯤...
0
28
2
이론 공부법 요약본 버전 업데이트 문의
0
26
2
정처기 필기 준비할때 이 이론을 다시 외워도 될까요?
0
55
2
조건 반복문 질문: for 문 ?
0
66
1
정처기 26-2회. 9번 질문드립니다!
0
82
1
이론 보면서 질문이 있습니다.
0
79
2
정보처리기사 실기 26년 2회 SRT 스케줄링 문제 단위 질문
0
90
2
유튜브(정보처리기사 실기 | 26년 2회 기출문제 코드 해설)
0
149
2
262 정처기 실기 C언어코딩
0
48
1
정보처리기사 262 실기 Hash(해시) 질문
0
82
2
static 변수 질문입니다.
0
63
2
파이썬 4강 질문입니다.
0
72
2
모의고사 1회 3번문제
0
92
3
41강 30:10
0
68
2
이론 공부법 질문 있습니다.
0
92
2
부모의 생성자 관련 질문
0
68
2
시험지 문제에 필기해도 되나요?
0
91
3
41강 11:23
0
60
2
4강파이썬 질문입니다
0
57
2
try-catch 핸들러명
0
68
2
36강 3:48
0
66
2
35강 18:27
0
68
2
자식 코드 내 super() 생략
0
60
2
출력질문
0
77
2





